sinatra-hexacta 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/lib/sinatra/handlers/errors.rb +23 -0
- data/lib/sinatra/handlers/init.rb +3 -0
- data/lib/sinatra/handlers/notifications.rb +74 -0
- data/lib/sinatra/handlers/reports.rb +1 -0
- data/lib/sinatra/helpers/charts.rb +15 -0
- data/lib/sinatra/helpers/init.rb +5 -0
- data/lib/sinatra/helpers/inputs.rb +47 -0
- data/lib/sinatra/helpers/libraries.rb +25 -0
- data/lib/sinatra/helpers/subscriptions.rb +44 -0
- data/lib/sinatra/hexacta.rb +32 -0
- data/lib/sinatra/public/css/app.min.1.css +16231 -0
- data/lib/sinatra/public/css/app.min.2.css +3341 -0
- data/lib/sinatra/public/css/shell.css +65 -0
- data/lib/sinatra/public/fonts/montserrat/Montserrat-Black.otf +0 -0
- data/lib/sinatra/public/fonts/montserrat/Montserrat-ExtraLight.otf +0 -0
- data/lib/sinatra/public/fonts/montserrat/Montserrat-Light.otf +0 -0
- data/lib/sinatra/public/fonts/montserrat/Montserrat-SemiBold.otf +0 -0
- data/lib/sinatra/public/fonts/roboto/Roboto-Bold-webfont.eot +0 -0
- data/lib/sinatra/public/fonts/roboto/Roboto-Bold-webfont.svg +593 -0
- data/lib/sinatra/public/fonts/roboto/Roboto-Bold-webfont.ttf +0 -0
- data/lib/sinatra/public/fonts/roboto/Roboto-Bold-webfont.woff +0 -0
- data/lib/sinatra/public/fonts/roboto/Roboto-Light-webfont.eot +0 -0
- data/lib/sinatra/public/fonts/roboto/Roboto-Light-webfont.svg +641 -0
- data/lib/sinatra/public/fonts/roboto/Roboto-Light-webfont.ttf +0 -0
- data/lib/sinatra/public/fonts/roboto/Roboto-Light-webfont.woff +0 -0
- data/lib/sinatra/public/fonts/roboto/Roboto-Medium-webfont.eot +0 -0
- data/lib/sinatra/public/fonts/roboto/Roboto-Medium-webfont.svg +593 -0
- data/lib/sinatra/public/fonts/roboto/Roboto-Medium-webfont.ttf +0 -0
- data/lib/sinatra/public/fonts/roboto/Roboto-Medium-webfont.woff +0 -0
- data/lib/sinatra/public/fonts/roboto/Roboto-Regular-webfont.eot +0 -0
- data/lib/sinatra/public/fonts/roboto/Roboto-Regular-webfont.svg +621 -0
- data/lib/sinatra/public/fonts/roboto/Roboto-Regular-webfont.ttf +0 -0
- data/lib/sinatra/public/fonts/roboto/Roboto-Regular-webfont.woff +0 -0
- data/lib/sinatra/public/fonts/roboto/Roboto-Thin-webfont.eot +0 -0
- data/lib/sinatra/public/fonts/roboto/Roboto-Thin-webfont.svg +631 -0
- data/lib/sinatra/public/fonts/roboto/Roboto-Thin-webfont.ttf +0 -0
- data/lib/sinatra/public/fonts/roboto/Roboto-Thin-webfont.woff +0 -0
- data/lib/sinatra/public/img/select.png +0 -0
- data/lib/sinatra/public/img/select@2x.png +0 -0
- data/lib/sinatra/public/js/app.js +794 -0
- data/lib/sinatra/public/js/form_validator.js +29 -0
- data/lib/sinatra/public/vendors/animate.css/animate.min.css +7 -0
- data/lib/sinatra/public/vendors/bootstrap-validator/validator.js +405 -0
- data/lib/sinatra/public/vendors/bootstrap/bootstrap.min.js +7 -0
- data/lib/sinatra/public/vendors/chartist/chartist.min.css +1 -0
- data/lib/sinatra/public/vendors/chartist/chartist.min.js +10 -0
- data/lib/sinatra/public/vendors/chosen/chosen-sprite.png +0 -0
- data/lib/sinatra/public/vendors/chosen/chosen-sprite@2x.png +0 -0
- data/lib/sinatra/public/vendors/chosen/chosen.jquery.min.js +3 -0
- data/lib/sinatra/public/vendors/chosen/chosen.min.css +11 -0
- data/lib/sinatra/public/vendors/eonasdan-bootstrap-datetimepicker/bootstrap-datetimepicker.js +2051 -0
- data/lib/sinatra/public/vendors/eonasdan-bootstrap-datetimepicker/bootstrap-datetimepicker.min.css +5 -0
- data/lib/sinatra/public/vendors/jquery/jquery.min.js +5 -0
- data/lib/sinatra/public/vendors/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.concat.min.js +5 -0
- data/lib/sinatra/public/vendors/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.css +1267 -0
- data/lib/sinatra/public/vendors/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.js +2370 -0
- data/lib/sinatra/public/vendors/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.min.css +1 -0
- data/lib/sinatra/public/vendors/malihu-custom-scrollbar-plugin/mCSB_buttons.png +0 -0
- data/lib/sinatra/public/vendors/material-design-iconic-font/css/material-design-iconic-font.css +5166 -0
- data/lib/sinatra/public/vendors/material-design-iconic-font/css/material-design-iconic-font.min.css +1 -0
- data/lib/sinatra/public/vendors/material-design-iconic-font/fonts/Material-Design-Iconic-Font.eot +0 -0
- data/lib/sinatra/public/vendors/material-design-iconic-font/fonts/Material-Design-Iconic-Font.svg +787 -0
- data/lib/sinatra/public/vendors/material-design-iconic-font/fonts/Material-Design-Iconic-Font.ttf +0 -0
- data/lib/sinatra/public/vendors/material-design-iconic-font/fonts/Material-Design-Iconic-Font.woff +0 -0
- data/lib/sinatra/public/vendors/material-design-iconic-font/fonts/Material-Design-Iconic-Font.woff2 +0 -0
- data/lib/sinatra/public/vendors/moment/moment.min.js +7 -0
- data/lib/sinatra/public/vendors/typeahead.js/bloodhound.min.js +7 -0
- data/lib/sinatra/public/vendors/typeahead.js/handlebars.js +2610 -0
- data/lib/sinatra/public/vendors/typeahead.js/typeahead.bundle.min.js +8 -0
- data/lib/sinatra/public/vendors/waves/waves.min.css +8 -0
- data/lib/sinatra/public/vendors/waves/waves.min.js +10 -0
- data/lib/sinatra/views/charts/simple_line.slim +36 -0
- data/lib/sinatra/views/errors/403.slim +9 -0
- data/lib/sinatra/views/errors/404.slim +27 -0
- data/lib/sinatra/views/errors/500.slim +24 -0
- data/lib/sinatra/views/inputs/date.slim +12 -0
- data/lib/sinatra/views/inputs/input.slim +18 -0
- data/lib/sinatra/views/inputs/month.slim +13 -0
- data/lib/sinatra/views/inputs/multiple_select.slim +27 -0
- data/lib/sinatra/views/inputs/radio.slim +8 -0
- data/lib/sinatra/views/inputs/select.slim +26 -0
- data/lib/sinatra/views/inputs/textarea.slim +14 -0
- data/lib/sinatra/views/inputs/tick.slim +8 -0
- data/lib/sinatra/views/inputs/year.slim +12 -0
- data/lib/sinatra/views/libraries/include_css.slim +28 -0
- data/lib/sinatra/views/libraries/include_js_after.slim +53 -0
- data/lib/sinatra/views/libraries/include_js_before.slim +7 -0
- data/lib/sinatra/views/notifications.slim +98 -0
- data/lib/sinatra/views/notifications/form.slim +41 -0
- data/lib/sinatra/views/notifications/item.slim +11 -0
- data/lib/sinatra/views/notifications/modal.slim +29 -0
- data/lib/sinatra/views/notifications/new.slim +21 -0
- data/lib/sinatra/views/notifications/view.slim +80 -0
- data/lib/sinatra/views/notifications/widget.slim +33 -0
- metadata +136 -0
@@ -0,0 +1,8 @@
|
|
1
|
+
/*!
|
2
|
+
* typeahead.js 0.11.1
|
3
|
+
* https://github.com/twitter/typeahead.js
|
4
|
+
* Copyright 2013-2015 Twitter, Inc. and other contributors; Licensed MIT
|
5
|
+
*/
|
6
|
+
|
7
|
+
!function(a,b){"function"==typeof define&&define.amd?define("bloodhound",["jquery"],function(c){return a.Bloodhound=b(c)}):"object"==typeof exports?module.exports=b(require("jquery")):a.Bloodhound=b(jQuery)}(this,function(a){var b=function(){"use strict";return{isMsie:function(){return/(msie|trident)/i.test(navigator.userAgent)?navigator.userAgent.match(/(msie |rv:)(\d+(.\d+)?)/i)[2]:!1},isBlankString:function(a){return!a||/^\s*$/.test(a)},escapeRegExChars:function(a){return a.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},isString:function(a){return"string"==typeof a},isNumber:function(a){return"number"==typeof a},isArray:a.isArray,isFunction:a.isFunction,isObject:a.isPlainObject,isUndefined:function(a){return"undefined"==typeof a},isElement:function(a){return!(!a||1!==a.nodeType)},isJQuery:function(b){return b instanceof a},toStr:function(a){return b.isUndefined(a)||null===a?"":a+""},bind:a.proxy,each:function(b,c){function d(a,b){return c(b,a)}a.each(b,d)},map:a.map,filter:a.grep,every:function(b,c){var d=!0;return b?(a.each(b,function(a,e){return(d=c.call(null,e,a,b))?void 0:!1}),!!d):d},some:function(b,c){var d=!1;return b?(a.each(b,function(a,e){return(d=c.call(null,e,a,b))?!1:void 0}),!!d):d},mixin:a.extend,identity:function(a){return a},clone:function(b){return a.extend(!0,{},b)},getIdGenerator:function(){var a=0;return function(){return a++}},templatify:function(b){function c(){return String(b)}return a.isFunction(b)?b:c},defer:function(a){setTimeout(a,0)},debounce:function(a,b,c){var d,e;return function(){var f,g,h=this,i=arguments;return f=function(){d=null,c||(e=a.apply(h,i))},g=c&&!d,clearTimeout(d),d=setTimeout(f,b),g&&(e=a.apply(h,i)),e}},throttle:function(a,b){var c,d,e,f,g,h;return g=0,h=function(){g=new Date,e=null,f=a.apply(c,d)},function(){var i=new Date,j=b-(i-g);return c=this,d=arguments,0>=j?(clearTimeout(e),e=null,g=i,f=a.apply(c,d)):e||(e=setTimeout(h,j)),f}},stringify:function(a){return b.isString(a)?a:JSON.stringify(a)},noop:function(){}}}(),c="0.11.1",d=function(){"use strict";function a(a){return a=b.toStr(a),a?a.split(/\s+/):[]}function c(a){return a=b.toStr(a),a?a.split(/\W+/):[]}function d(a){return function(c){return c=b.isArray(c)?c:[].slice.call(arguments,0),function(d){var e=[];return b.each(c,function(c){e=e.concat(a(b.toStr(d[c])))}),e}}}return{nonword:c,whitespace:a,obj:{nonword:d(c),whitespace:d(a)}}}(),e=function(){"use strict";function c(c){this.maxSize=b.isNumber(c)?c:100,this.reset(),this.maxSize<=0&&(this.set=this.get=a.noop)}function d(){this.head=this.tail=null}function e(a,b){this.key=a,this.val=b,this.prev=this.next=null}return b.mixin(c.prototype,{set:function(a,b){var c,d=this.list.tail;this.size>=this.maxSize&&(this.list.remove(d),delete this.hash[d.key],this.size--),(c=this.hash[a])?(c.val=b,this.list.moveToFront(c)):(c=new e(a,b),this.list.add(c),this.hash[a]=c,this.size++)},get:function(a){var b=this.hash[a];return b?(this.list.moveToFront(b),b.val):void 0},reset:function(){this.size=0,this.hash={},this.list=new d}}),b.mixin(d.prototype,{add:function(a){this.head&&(a.next=this.head,this.head.prev=a),this.head=a,this.tail=this.tail||a},remove:function(a){a.prev?a.prev.next=a.next:this.head=a.next,a.next?a.next.prev=a.prev:this.tail=a.prev},moveToFront:function(a){this.remove(a),this.add(a)}}),c}(),f=function(){"use strict";function c(a,c){this.prefix=["__",a,"__"].join(""),this.ttlKey="__ttl__",this.keyMatcher=new RegExp("^"+b.escapeRegExChars(this.prefix)),this.ls=c||h,!this.ls&&this._noop()}function d(){return(new Date).getTime()}function e(a){return JSON.stringify(b.isUndefined(a)?null:a)}function f(b){return a.parseJSON(b)}function g(a){var b,c,d=[],e=h.length;for(b=0;e>b;b++)(c=h.key(b)).match(a)&&d.push(c.replace(a,""));return d}var h;try{h=window.localStorage,h.setItem("~~~","!"),h.removeItem("~~~")}catch(i){h=null}return b.mixin(c.prototype,{_prefix:function(a){return this.prefix+a},_ttlKey:function(a){return this._prefix(a)+this.ttlKey},_noop:function(){this.get=this.set=this.remove=this.clear=this.isExpired=b.noop},_safeSet:function(a,b){try{this.ls.setItem(a,b)}catch(c){"QuotaExceededError"===c.name&&(this.clear(),this._noop())}},get:function(a){return this.isExpired(a)&&this.remove(a),f(this.ls.getItem(this._prefix(a)))},set:function(a,c,f){return b.isNumber(f)?this._safeSet(this._ttlKey(a),e(d()+f)):this.ls.removeItem(this._ttlKey(a)),this._safeSet(this._prefix(a),e(c))},remove:function(a){return this.ls.removeItem(this._ttlKey(a)),this.ls.removeItem(this._prefix(a)),this},clear:function(){var a,b=g(this.keyMatcher);for(a=b.length;a--;)this.remove(b[a]);return this},isExpired:function(a){var c=f(this.ls.getItem(this._ttlKey(a)));return b.isNumber(c)&&d()>c?!0:!1}}),c}(),g=function(){"use strict";function c(a){a=a||{},this.cancelled=!1,this.lastReq=null,this._send=a.transport,this._get=a.limiter?a.limiter(this._get):this._get,this._cache=a.cache===!1?new e(0):h}var d=0,f={},g=6,h=new e(10);return c.setMaxPendingRequests=function(a){g=a},c.resetCache=function(){h.reset()},b.mixin(c.prototype,{_fingerprint:function(b){return b=b||{},b.url+b.type+a.param(b.data||{})},_get:function(a,b){function c(a){b(null,a),k._cache.set(i,a)}function e(){b(!0)}function h(){d--,delete f[i],k.onDeckRequestArgs&&(k._get.apply(k,k.onDeckRequestArgs),k.onDeckRequestArgs=null)}var i,j,k=this;i=this._fingerprint(a),this.cancelled||i!==this.lastReq||((j=f[i])?j.done(c).fail(e):g>d?(d++,f[i]=this._send(a).done(c).fail(e).always(h)):this.onDeckRequestArgs=[].slice.call(arguments,0))},get:function(c,d){var e,f;d=d||a.noop,c=b.isString(c)?{url:c}:c||{},f=this._fingerprint(c),this.cancelled=!1,this.lastReq=f,(e=this._cache.get(f))?d(null,e):this._get(c,d)},cancel:function(){this.cancelled=!0}}),c}(),h=window.SearchIndex=function(){"use strict";function c(c){c=c||{},c.datumTokenizer&&c.queryTokenizer||a.error("datumTokenizer and queryTokenizer are both required"),this.identify=c.identify||b.stringify,this.datumTokenizer=c.datumTokenizer,this.queryTokenizer=c.queryTokenizer,this.reset()}function d(a){return a=b.filter(a,function(a){return!!a}),a=b.map(a,function(a){return a.toLowerCase()})}function e(){var a={};return a[i]=[],a[h]={},a}function f(a){for(var b={},c=[],d=0,e=a.length;e>d;d++)b[a[d]]||(b[a[d]]=!0,c.push(a[d]));return c}function g(a,b){var c=0,d=0,e=[];a=a.sort(),b=b.sort();for(var f=a.length,g=b.length;f>c&&g>d;)a[c]<b[d]?c++:a[c]>b[d]?d++:(e.push(a[c]),c++,d++);return e}var h="c",i="i";return b.mixin(c.prototype,{bootstrap:function(a){this.datums=a.datums,this.trie=a.trie},add:function(a){var c=this;a=b.isArray(a)?a:[a],b.each(a,function(a){var f,g;c.datums[f=c.identify(a)]=a,g=d(c.datumTokenizer(a)),b.each(g,function(a){var b,d,g;for(b=c.trie,d=a.split("");g=d.shift();)b=b[h][g]||(b[h][g]=e()),b[i].push(f)})})},get:function(a){var c=this;return b.map(a,function(a){return c.datums[a]})},search:function(a){var c,e,j=this;return c=d(this.queryTokenizer(a)),b.each(c,function(a){var b,c,d,f;if(e&&0===e.length)return!1;for(b=j.trie,c=a.split("");b&&(d=c.shift());)b=b[h][d];return b&&0===c.length?(f=b[i].slice(0),void(e=e?g(e,f):f)):(e=[],!1)}),e?b.map(f(e),function(a){return j.datums[a]}):[]},all:function(){var a=[];for(var b in this.datums)a.push(this.datums[b]);return a},reset:function(){this.datums={},this.trie=e()},serialize:function(){return{datums:this.datums,trie:this.trie}}}),c}(),i=function(){"use strict";function a(a){this.url=a.url,this.ttl=a.ttl,this.cache=a.cache,this.prepare=a.prepare,this.transform=a.transform,this.transport=a.transport,this.thumbprint=a.thumbprint,this.storage=new f(a.cacheKey)}var c;return c={data:"data",protocol:"protocol",thumbprint:"thumbprint"},b.mixin(a.prototype,{_settings:function(){return{url:this.url,type:"GET",dataType:"json"}},store:function(a){this.cache&&(this.storage.set(c.data,a,this.ttl),this.storage.set(c.protocol,location.protocol,this.ttl),this.storage.set(c.thumbprint,this.thumbprint,this.ttl))},fromCache:function(){var a,b={};return this.cache?(b.data=this.storage.get(c.data),b.protocol=this.storage.get(c.protocol),b.thumbprint=this.storage.get(c.thumbprint),a=b.thumbprint!==this.thumbprint||b.protocol!==location.protocol,b.data&&!a?b.data:null):null},fromNetwork:function(a){function b(){a(!0)}function c(b){a(null,e.transform(b))}var d,e=this;a&&(d=this.prepare(this._settings()),this.transport(d).fail(b).done(c))},clear:function(){return this.storage.clear(),this}}),a}(),j=function(){"use strict";function a(a){this.url=a.url,this.prepare=a.prepare,this.transform=a.transform,this.transport=new g({cache:a.cache,limiter:a.limiter,transport:a.transport})}return b.mixin(a.prototype,{_settings:function(){return{url:this.url,type:"GET",dataType:"json"}},get:function(a,b){function c(a,c){b(a?[]:e.transform(c))}var d,e=this;if(b)return a=a||"",d=this.prepare(a,this._settings()),this.transport.get(d,c)},cancelLastRequest:function(){this.transport.cancel()}}),a}(),k=function(){"use strict";function d(d){var e;return d?(e={url:null,ttl:864e5,cache:!0,cacheKey:null,thumbprint:"",prepare:b.identity,transform:b.identity,transport:null},d=b.isString(d)?{url:d}:d,d=b.mixin(e,d),!d.url&&a.error("prefetch requires url to be set"),d.transform=d.filter||d.transform,d.cacheKey=d.cacheKey||d.url,d.thumbprint=c+d.thumbprint,d.transport=d.transport?h(d.transport):a.ajax,d):null}function e(c){var d;if(c)return d={url:null,cache:!0,prepare:null,replace:null,wildcard:null,limiter:null,rateLimitBy:"debounce",rateLimitWait:300,transform:b.identity,transport:null},c=b.isString(c)?{url:c}:c,c=b.mixin(d,c),!c.url&&a.error("remote requires url to be set"),c.transform=c.filter||c.transform,c.prepare=f(c),c.limiter=g(c),c.transport=c.transport?h(c.transport):a.ajax,delete c.replace,delete c.wildcard,delete c.rateLimitBy,delete c.rateLimitWait,c}function f(a){function b(a,b){return b.url=f(b.url,a),b}function c(a,b){return b.url=b.url.replace(g,encodeURIComponent(a)),b}function d(a,b){return b}var e,f,g;return e=a.prepare,f=a.replace,g=a.wildcard,e?e:e=f?b:a.wildcard?c:d}function g(a){function c(a){return function(c){return b.debounce(c,a)}}function d(a){return function(c){return b.throttle(c,a)}}var e,f,g;return e=a.limiter,f=a.rateLimitBy,g=a.rateLimitWait,e||(e=/^throttle$/i.test(f)?d(g):c(g)),e}function h(c){return function(d){function e(a){b.defer(function(){g.resolve(a)})}function f(a){b.defer(function(){g.reject(a)})}var g=a.Deferred();return c(d,e,f),g}}return function(c){var f,g;return f={initialize:!0,identify:b.stringify,datumTokenizer:null,queryTokenizer:null,sufficient:5,sorter:null,local:[],prefetch:null,remote:null},c=b.mixin(f,c||{}),!c.datumTokenizer&&a.error("datumTokenizer is required"),!c.queryTokenizer&&a.error("queryTokenizer is required"),g=c.sorter,c.sorter=g?function(a){return a.sort(g)}:b.identity,c.local=b.isFunction(c.local)?c.local():c.local,c.prefetch=d(c.prefetch),c.remote=e(c.remote),c}}(),l=function(){"use strict";function c(a){a=k(a),this.sorter=a.sorter,this.identify=a.identify,this.sufficient=a.sufficient,this.local=a.local,this.remote=a.remote?new j(a.remote):null,this.prefetch=a.prefetch?new i(a.prefetch):null,this.index=new h({identify:this.identify,datumTokenizer:a.datumTokenizer,queryTokenizer:a.queryTokenizer}),a.initialize!==!1&&this.initialize()}var e;return e=window&&window.Bloodhound,c.noConflict=function(){return window&&(window.Bloodhound=e),c},c.tokenizers=d,b.mixin(c.prototype,{__ttAdapter:function(){function a(a,b,d){return c.search(a,b,d)}function b(a,b){return c.search(a,b)}var c=this;return this.remote?a:b},_loadPrefetch:function(){function b(a,b){return a?c.reject():(e.add(b),e.prefetch.store(e.index.serialize()),void c.resolve())}var c,d,e=this;return c=a.Deferred(),this.prefetch?(d=this.prefetch.fromCache())?(this.index.bootstrap(d),c.resolve()):this.prefetch.fromNetwork(b):c.resolve(),c.promise()},_initialize:function(){function a(){b.add(b.local)}var b=this;return this.clear(),(this.initPromise=this._loadPrefetch()).done(a),this.initPromise},initialize:function(a){return!this.initPromise||a?this._initialize():this.initPromise},add:function(a){return this.index.add(a),this},get:function(a){return a=b.isArray(a)?a:[].slice.call(arguments),this.index.get(a)},search:function(a,c,d){function e(a){var c=[];b.each(a,function(a){!b.some(f,function(b){return g.identify(a)===g.identify(b)})&&c.push(a)}),d&&d(c)}var f,g=this;return f=this.sorter(this.index.search(a)),c(this.remote?f.slice():f),this.remote&&f.length<this.sufficient?this.remote.get(a,e):this.remote&&this.remote.cancelLastRequest(),this},all:function(){return this.index.all()},clear:function(){return this.index.reset(),this},clearPrefetchCache:function(){return this.prefetch&&this.prefetch.clear(),this},clearRemoteCache:function(){return g.resetCache(),this},ttAdapter:function(){return this.__ttAdapter()}}),c}();return l}),function(a,b){"function"==typeof define&&define.amd?define("typeahead.js",["jquery"],function(a){return b(a)}):"object"==typeof exports?module.exports=b(require("jquery")):b(jQuery)}(this,function(a){var b=function(){"use strict";return{isMsie:function(){return/(msie|trident)/i.test(navigator.userAgent)?navigator.userAgent.match(/(msie |rv:)(\d+(.\d+)?)/i)[2]:!1},isBlankString:function(a){return!a||/^\s*$/.test(a)},escapeRegExChars:function(a){return a.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")},isString:function(a){return"string"==typeof a},isNumber:function(a){return"number"==typeof a},isArray:a.isArray,isFunction:a.isFunction,isObject:a.isPlainObject,isUndefined:function(a){return"undefined"==typeof a},isElement:function(a){return!(!a||1!==a.nodeType)},isJQuery:function(b){return b instanceof a},toStr:function(a){return b.isUndefined(a)||null===a?"":a+""},bind:a.proxy,each:function(b,c){function d(a,b){return c(b,a)}a.each(b,d)},map:a.map,filter:a.grep,every:function(b,c){var d=!0;return b?(a.each(b,function(a,e){return(d=c.call(null,e,a,b))?void 0:!1}),!!d):d},some:function(b,c){var d=!1;return b?(a.each(b,function(a,e){return(d=c.call(null,e,a,b))?!1:void 0}),!!d):d},mixin:a.extend,identity:function(a){return a},clone:function(b){return a.extend(!0,{},b)},getIdGenerator:function(){var a=0;return function(){return a++}},templatify:function(b){function c(){return String(b)}return a.isFunction(b)?b:c},defer:function(a){setTimeout(a,0)},debounce:function(a,b,c){var d,e;return function(){var f,g,h=this,i=arguments;return f=function(){d=null,c||(e=a.apply(h,i))},g=c&&!d,clearTimeout(d),d=setTimeout(f,b),g&&(e=a.apply(h,i)),e}},throttle:function(a,b){var c,d,e,f,g,h;return g=0,h=function(){g=new Date,e=null,f=a.apply(c,d)},function(){var i=new Date,j=b-(i-g);return c=this,d=arguments,0>=j?(clearTimeout(e),e=null,g=i,f=a.apply(c,d)):e||(e=setTimeout(h,j)),f}},stringify:function(a){return b.isString(a)?a:JSON.stringify(a)},noop:function(){}}}(),c=function(){"use strict";function a(a){var g,h;return h=b.mixin({},f,a),g={css:e(),classes:h,html:c(h),selectors:d(h)},{css:g.css,html:g.html,classes:g.classes,selectors:g.selectors,mixin:function(a){b.mixin(a,g)}}}function c(a){return{wrapper:'<span class="'+a.wrapper+'"></span>',menu:'<div class="'+a.menu+'"></div>'}}function d(a){var c={};return b.each(a,function(a,b){c[b]="."+a}),c}function e(){var a={wrapper:{position:"relative",display:"inline-block"},hint:{position:"absolute",top:"0",left:"0",borderColor:"transparent",boxShadow:"none",opacity:"1"},input:{position:"relative",verticalAlign:"top",backgroundColor:"transparent"},inputWithNoHint:{position:"relative",verticalAlign:"top"},menu:{position:"absolute",top:"100%",left:"0",zIndex:"100",display:"none"},ltr:{left:"0",right:"auto"},rtl:{left:"auto",right:" 0"}};return b.isMsie()&&b.mixin(a.input,{backgroundImage:"url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)"}),a}var f={wrapper:"twitter-typeahead",input:"tt-input",hint:"tt-hint",menu:"tt-menu",dataset:"tt-dataset",suggestion:"tt-suggestion",selectable:"tt-selectable",empty:"tt-empty",open:"tt-open",cursor:"tt-cursor",highlight:"tt-highlight"};return a}(),d=function(){"use strict";function c(b){b&&b.el||a.error("EventBus initialized without el"),this.$el=a(b.el)}var d,e;return d="typeahead:",e={render:"rendered",cursorchange:"cursorchanged",select:"selected",autocomplete:"autocompleted"},b.mixin(c.prototype,{_trigger:function(b,c){var e;return e=a.Event(d+b),(c=c||[]).unshift(e),this.$el.trigger.apply(this.$el,c),e},before:function(a){var b,c;return b=[].slice.call(arguments,1),c=this._trigger("before"+a,b),c.isDefaultPrevented()},trigger:function(a){var b;this._trigger(a,[].slice.call(arguments,1)),(b=e[a])&&this._trigger(b,[].slice.call(arguments,1))}}),c}(),e=function(){"use strict";function a(a,b,c,d){var e;if(!c)return this;for(b=b.split(i),c=d?h(c,d):c,this._callbacks=this._callbacks||{};e=b.shift();)this._callbacks[e]=this._callbacks[e]||{sync:[],async:[]},this._callbacks[e][a].push(c);return this}function b(b,c,d){return a.call(this,"async",b,c,d)}function c(b,c,d){return a.call(this,"sync",b,c,d)}function d(a){var b;if(!this._callbacks)return this;for(a=a.split(i);b=a.shift();)delete this._callbacks[b];return this}function e(a){var b,c,d,e,g;if(!this._callbacks)return this;for(a=a.split(i),d=[].slice.call(arguments,1);(b=a.shift())&&(c=this._callbacks[b]);)e=f(c.sync,this,[b].concat(d)),g=f(c.async,this,[b].concat(d)),e()&&j(g);return this}function f(a,b,c){function d(){for(var d,e=0,f=a.length;!d&&f>e;e+=1)d=a[e].apply(b,c)===!1;return!d}return d}function g(){var a;return a=window.setImmediate?function(a){setImmediate(function(){a()})}:function(a){setTimeout(function(){a()},0)}}function h(a,b){return a.bind?a.bind(b):function(){a.apply(b,[].slice.call(arguments,0))}}var i=/\s+/,j=g();return{onSync:c,onAsync:b,off:d,trigger:e}}(),f=function(a){"use strict";function c(a,c,d){for(var e,f=[],g=0,h=a.length;h>g;g++)f.push(b.escapeRegExChars(a[g]));return e=d?"\\b("+f.join("|")+")\\b":"("+f.join("|")+")",c?new RegExp(e):new RegExp(e,"i")}var d={node:null,pattern:null,tagName:"strong",className:null,wordsOnly:!1,caseSensitive:!1};return function(e){function f(b){var c,d,f;return(c=h.exec(b.data))&&(f=a.createElement(e.tagName),e.className&&(f.className=e.className),d=b.splitText(c.index),d.splitText(c[0].length),f.appendChild(d.cloneNode(!0)),b.parentNode.replaceChild(f,d)),!!c}function g(a,b){for(var c,d=3,e=0;e<a.childNodes.length;e++)c=a.childNodes[e],c.nodeType===d?e+=b(c)?1:0:g(c,b)}var h;e=b.mixin({},d,e),e.node&&e.pattern&&(e.pattern=b.isArray(e.pattern)?e.pattern:[e.pattern],h=c(e.pattern,e.caseSensitive,e.wordsOnly),g(e.node,f))}}(window.document),g=function(){"use strict";function c(c,e){c=c||{},c.input||a.error("input is missing"),e.mixin(this),this.$hint=a(c.hint),this.$input=a(c.input),this.query=this.$input.val(),this.queryWhenFocused=this.hasFocus()?this.query:null,this.$overflowHelper=d(this.$input),this._checkLanguageDirection(),0===this.$hint.length&&(this.setHint=this.getHint=this.clearHint=this.clearHintIfInvalid=b.noop)}function d(b){return a('<pre aria-hidden="true"></pre>').css({position:"absolute",visibility:"hidden",whiteSpace:"pre",fontFamily:b.css("font-family"),fontSize:b.css("font-size"),fontStyle:b.css("font-style"),fontVariant:b.css("font-variant"),fontWeight:b.css("font-weight"),wordSpacing:b.css("word-spacing"),letterSpacing:b.css("letter-spacing"),textIndent:b.css("text-indent"),textRendering:b.css("text-rendering"),textTransform:b.css("text-transform")}).insertAfter(b)}function f(a,b){return c.normalizeQuery(a)===c.normalizeQuery(b)}function g(a){return a.altKey||a.ctrlKey||a.metaKey||a.shiftKey}var h;return h={9:"tab",27:"esc",37:"left",39:"right",13:"enter",38:"up",40:"down"},c.normalizeQuery=function(a){return b.toStr(a).replace(/^\s*/g,"").replace(/\s{2,}/g," ")},b.mixin(c.prototype,e,{_onBlur:function(){this.resetInputValue(),this.trigger("blurred")},_onFocus:function(){this.queryWhenFocused=this.query,this.trigger("focused")},_onKeydown:function(a){var b=h[a.which||a.keyCode];this._managePreventDefault(b,a),b&&this._shouldTrigger(b,a)&&this.trigger(b+"Keyed",a)},_onInput:function(){this._setQuery(this.getInputValue()),this.clearHintIfInvalid(),this._checkLanguageDirection()},_managePreventDefault:function(a,b){var c;switch(a){case"up":case"down":c=!g(b);break;default:c=!1}c&&b.preventDefault()},_shouldTrigger:function(a,b){var c;switch(a){case"tab":c=!g(b);break;default:c=!0}return c},_checkLanguageDirection:function(){var a=(this.$input.css("direction")||"ltr").toLowerCase();this.dir!==a&&(this.dir=a,this.$hint.attr("dir",a),this.trigger("langDirChanged",a))},_setQuery:function(a,b){var c,d;c=f(a,this.query),d=c?this.query.length!==a.length:!1,this.query=a,b||c?!b&&d&&this.trigger("whitespaceChanged",this.query):this.trigger("queryChanged",this.query)},bind:function(){var a,c,d,e,f=this;return a=b.bind(this._onBlur,this),c=b.bind(this._onFocus,this),d=b.bind(this._onKeydown,this),e=b.bind(this._onInput,this),this.$input.on("blur.tt",a).on("focus.tt",c).on("keydown.tt",d),!b.isMsie()||b.isMsie()>9?this.$input.on("input.tt",e):this.$input.on("keydown.tt keypress.tt cut.tt paste.tt",function(a){h[a.which||a.keyCode]||b.defer(b.bind(f._onInput,f,a))}),this},focus:function(){this.$input.focus()},blur:function(){this.$input.blur()},getLangDir:function(){return this.dir},getQuery:function(){return this.query||""},setQuery:function(a,b){this.setInputValue(a),this._setQuery(a,b)},hasQueryChangedSinceLastFocus:function(){return this.query!==this.queryWhenFocused},getInputValue:function(){return this.$input.val()},setInputValue:function(a){this.$input.val(a),this.clearHintIfInvalid(),this._checkLanguageDirection()},resetInputValue:function(){this.setInputValue(this.query)},getHint:function(){return this.$hint.val()},setHint:function(a){this.$hint.val(a)},clearHint:function(){this.setHint("")},clearHintIfInvalid:function(){var a,b,c,d;a=this.getInputValue(),b=this.getHint(),c=a!==b&&0===b.indexOf(a),d=""!==a&&c&&!this.hasOverflow(),!d&&this.clearHint()},hasFocus:function(){return this.$input.is(":focus")},hasOverflow:function(){var a=this.$input.width()-2;return this.$overflowHelper.text(this.getInputValue()),this.$overflowHelper.width()>=a},isCursorAtEnd:function(){var a,c,d;return a=this.$input.val().length,c=this.$input[0].selectionStart,b.isNumber(c)?c===a:document.selection?(d=document.selection.createRange(),d.moveStart("character",-a),a===d.text.length):!0},destroy:function(){this.$hint.off(".tt"),this.$input.off(".tt"),this.$overflowHelper.remove(),this.$hint=this.$input=this.$overflowHelper=a("<div>")}}),c}(),h=function(){"use strict";function c(c,e){c=c||{},c.templates=c.templates||{},c.templates.notFound=c.templates.notFound||c.templates.empty,c.source||a.error("missing source"),c.node||a.error("missing node"),c.name&&!h(c.name)&&a.error("invalid dataset name: "+c.name),e.mixin(this),this.highlight=!!c.highlight,this.name=c.name||j(),this.limit=c.limit||5,this.displayFn=d(c.display||c.displayKey),this.templates=g(c.templates,this.displayFn),this.source=c.source.__ttAdapter?c.source.__ttAdapter():c.source,this.async=b.isUndefined(c.async)?this.source.length>2:!!c.async,this._resetLastSuggestion(),this.$el=a(c.node).addClass(this.classes.dataset).addClass(this.classes.dataset+"-"+this.name)}function d(a){function c(b){return b[a]}return a=a||b.stringify,b.isFunction(a)?a:c}function g(c,d){function e(b){return a("<div>").text(d(b))}return{notFound:c.notFound&&b.templatify(c.notFound),pending:c.pending&&b.templatify(c.pending),header:c.header&&b.templatify(c.header),footer:c.footer&&b.templatify(c.footer),suggestion:c.suggestion||e}}function h(a){return/^[_a-zA-Z0-9-]+$/.test(a)}var i,j;return i={val:"tt-selectable-display",obj:"tt-selectable-object"},j=b.getIdGenerator(),c.extractData=function(b){var c=a(b);return c.data(i.obj)?{val:c.data(i.val)||"",obj:c.data(i.obj)||null}:null},b.mixin(c.prototype,e,{_overwrite:function(a,b){b=b||[],b.length?this._renderSuggestions(a,b):this.async&&this.templates.pending?this._renderPending(a):!this.async&&this.templates.notFound?this._renderNotFound(a):this._empty(),this.trigger("rendered",this.name,b,!1)},_append:function(a,b){b=b||[],b.length&&this.$lastSuggestion.length?this._appendSuggestions(a,b):b.length?this._renderSuggestions(a,b):!this.$lastSuggestion.length&&this.templates.notFound&&this._renderNotFound(a),this.trigger("rendered",this.name,b,!0)},_renderSuggestions:function(a,b){var c;c=this._getSuggestionsFragment(a,b),this.$lastSuggestion=c.children().last(),this.$el.html(c).prepend(this._getHeader(a,b)).append(this._getFooter(a,b))},_appendSuggestions:function(a,b){var c,d;c=this._getSuggestionsFragment(a,b),d=c.children().last(),this.$lastSuggestion.after(c),this.$lastSuggestion=d},_renderPending:function(a){var b=this.templates.pending;this._resetLastSuggestion(),b&&this.$el.html(b({query:a,dataset:this.name}))},_renderNotFound:function(a){var b=this.templates.notFound;this._resetLastSuggestion(),b&&this.$el.html(b({query:a,dataset:this.name}))},_empty:function(){this.$el.empty(),this._resetLastSuggestion()},_getSuggestionsFragment:function(c,d){var e,g=this;return e=document.createDocumentFragment(),b.each(d,function(b){var d,f;f=g._injectQuery(c,b),d=a(g.templates.suggestion(f)).data(i.obj,b).data(i.val,g.displayFn(b)).addClass(g.classes.suggestion+" "+g.classes.selectable),e.appendChild(d[0])}),this.highlight&&f({className:this.classes.highlight,node:e,pattern:c}),a(e)},_getFooter:function(a,b){return this.templates.footer?this.templates.footer({query:a,suggestions:b,dataset:this.name}):null},_getHeader:function(a,b){return this.templates.header?this.templates.header({query:a,suggestions:b,dataset:this.name}):null},_resetLastSuggestion:function(){this.$lastSuggestion=a()},_injectQuery:function(a,c){return b.isObject(c)?b.mixin({_query:a},c):c},update:function(b){function c(a){g||(g=!0,a=(a||[]).slice(0,e.limit),h=a.length,e._overwrite(b,a),h<e.limit&&e.async&&e.trigger("asyncRequested",b))}function d(c){c=c||[],!f&&h<e.limit&&(e.cancel=a.noop,h+=c.length,e._append(b,c.slice(0,e.limit-h)),e.async&&e.trigger("asyncReceived",b))}var e=this,f=!1,g=!1,h=0;this.cancel(),this.cancel=function(){f=!0,e.cancel=a.noop,e.async&&e.trigger("asyncCanceled",b)},this.source(b,c,d),!g&&c([])},cancel:a.noop,clear:function(){this._empty(),this.cancel(),this.trigger("cleared")},isEmpty:function(){return this.$el.is(":empty")},destroy:function(){this.$el=a("<div>")}}),c}(),i=function(){"use strict";function c(c,d){function e(b){var c=f.$node.find(b.node).first();return b.node=c.length?c:a("<div>").appendTo(f.$node),new h(b,d)}var f=this;c=c||{},c.node||a.error("node is required"),d.mixin(this),this.$node=a(c.node),this.query=null,this.datasets=b.map(c.datasets,e)}return b.mixin(c.prototype,e,{_onSelectableClick:function(b){this.trigger("selectableClicked",a(b.currentTarget))},_onRendered:function(a,b,c,d){this.$node.toggleClass(this.classes.empty,this._allDatasetsEmpty()),this.trigger("datasetRendered",b,c,d)},_onCleared:function(){this.$node.toggleClass(this.classes.empty,this._allDatasetsEmpty()),this.trigger("datasetCleared")},_propagate:function(){this.trigger.apply(this,arguments)},_allDatasetsEmpty:function(){function a(a){return a.isEmpty()}return b.every(this.datasets,a)},_getSelectables:function(){return this.$node.find(this.selectors.selectable)},_removeCursor:function(){var a=this.getActiveSelectable();a&&a.removeClass(this.classes.cursor)},_ensureVisible:function(a){var b,c,d,e;b=a.position().top,c=b+a.outerHeight(!0),d=this.$node.scrollTop(),e=this.$node.height()+parseInt(this.$node.css("paddingTop"),10)+parseInt(this.$node.css("paddingBottom"),10),0>b?this.$node.scrollTop(d+b):c>e&&this.$node.scrollTop(d+(c-e))},bind:function(){var a,c=this;return a=b.bind(this._onSelectableClick,this),this.$node.on("click.tt",this.selectors.selectable,a),b.each(this.datasets,function(a){a.onSync("asyncRequested",c._propagate,c).onSync("asyncCanceled",c._propagate,c).onSync("asyncReceived",c._propagate,c).onSync("rendered",c._onRendered,c).onSync("cleared",c._onCleared,c)}),this},isOpen:function(){return this.$node.hasClass(this.classes.open)},open:function(){this.$node.addClass(this.classes.open)},close:function(){this.$node.removeClass(this.classes.open),this._removeCursor()},setLanguageDirection:function(a){this.$node.attr("dir",a)},selectableRelativeToCursor:function(a){var b,c,d,e;return c=this.getActiveSelectable(),b=this._getSelectables(),d=c?b.index(c):-1,e=d+a,e=(e+1)%(b.length+1)-1,e=-1>e?b.length-1:e,-1===e?null:b.eq(e)},setCursor:function(a){this._removeCursor(),(a=a&&a.first())&&(a.addClass(this.classes.cursor),this._ensureVisible(a))},getSelectableData:function(a){return a&&a.length?h.extractData(a):null},getActiveSelectable:function(){var a=this._getSelectables().filter(this.selectors.cursor).first();return a.length?a:null},getTopSelectable:function(){var a=this._getSelectables().first();return a.length?a:null},update:function(a){function c(b){b.update(a)}var d=a!==this.query;return d&&(this.query=a,b.each(this.datasets,c)),d},empty:function(){function a(a){a.clear()}b.each(this.datasets,a),this.query=null,this.$node.addClass(this.classes.empty)},destroy:function(){function c(a){a.destroy()}this.$node.off(".tt"),this.$node=a("<div>"),b.each(this.datasets,c)}}),c}(),j=function(){"use strict";function a(){i.apply(this,[].slice.call(arguments,0))}var c=i.prototype;return b.mixin(a.prototype,i.prototype,{open:function(){return!this._allDatasetsEmpty()&&this._show(),c.open.apply(this,[].slice.call(arguments,0))},close:function(){return this._hide(),c.close.apply(this,[].slice.call(arguments,0))},_onRendered:function(){return this._allDatasetsEmpty()?this._hide():this.isOpen()&&this._show(),c._onRendered.apply(this,[].slice.call(arguments,0))},_onCleared:function(){return this._allDatasetsEmpty()?this._hide():this.isOpen()&&this._show(),c._onCleared.apply(this,[].slice.call(arguments,0))},setLanguageDirection:function(a){return this.$node.css("ltr"===a?this.css.ltr:this.css.rtl),c.setLanguageDirection.apply(this,[].slice.call(arguments,0))},_hide:function(){this.$node.hide()},_show:function(){this.$node.css("display","block")}}),a}(),k=function(){"use strict";function c(c,e){var f,g,h,i,j,k,l,m,n,o,p;c=c||{},c.input||a.error("missing input"),c.menu||a.error("missing menu"),c.eventBus||a.error("missing event bus"),e.mixin(this),this.eventBus=c.eventBus,this.minLength=b.isNumber(c.minLength)?c.minLength:1,this.input=c.input,this.menu=c.menu,this.enabled=!0,this.active=!1,this.input.hasFocus()&&this.activate(),this.dir=this.input.getLangDir(),this._hacks(),this.menu.bind().onSync("selectableClicked",this._onSelectableClicked,this).onSync("asyncRequested",this._onAsyncRequested,this).onSync("asyncCanceled",this._onAsyncCanceled,this).onSync("asyncReceived",this._onAsyncReceived,this).onSync("datasetRendered",this._onDatasetRendered,this).onSync("datasetCleared",this._onDatasetCleared,this),f=d(this,"activate","open","_onFocused"),g=d(this,"deactivate","_onBlurred"),h=d(this,"isActive","isOpen","_onEnterKeyed"),i=d(this,"isActive","isOpen","_onTabKeyed"),j=d(this,"isActive","_onEscKeyed"),k=d(this,"isActive","open","_onUpKeyed"),l=d(this,"isActive","open","_onDownKeyed"),m=d(this,"isActive","isOpen","_onLeftKeyed"),n=d(this,"isActive","isOpen","_onRightKeyed"),o=d(this,"_openIfActive","_onQueryChanged"),p=d(this,"_openIfActive","_onWhitespaceChanged"),this.input.bind().onSync("focused",f,this).onSync("blurred",g,this).onSync("enterKeyed",h,this).onSync("tabKeyed",i,this).onSync("escKeyed",j,this).onSync("upKeyed",k,this).onSync("downKeyed",l,this).onSync("leftKeyed",m,this).onSync("rightKeyed",n,this).onSync("queryChanged",o,this).onSync("whitespaceChanged",p,this).onSync("langDirChanged",this._onLangDirChanged,this)}function d(a){var c=[].slice.call(arguments,1);return function(){var d=[].slice.call(arguments);b.each(c,function(b){return a[b].apply(a,d)})}}return b.mixin(c.prototype,{_hacks:function(){var c,d;c=this.input.$input||a("<div>"),d=this.menu.$node||a("<div>"),c.on("blur.tt",function(a){var e,f,g;
|
8
|
+
e=document.activeElement,f=d.is(e),g=d.has(e).length>0,b.isMsie()&&(f||g)&&(a.preventDefault(),a.stopImmediatePropagation(),b.defer(function(){c.focus()}))}),d.on("mousedown.tt",function(a){a.preventDefault()})},_onSelectableClicked:function(a,b){this.select(b)},_onDatasetCleared:function(){this._updateHint()},_onDatasetRendered:function(a,b,c,d){this._updateHint(),this.eventBus.trigger("render",c,d,b)},_onAsyncRequested:function(a,b,c){this.eventBus.trigger("asyncrequest",c,b)},_onAsyncCanceled:function(a,b,c){this.eventBus.trigger("asynccancel",c,b)},_onAsyncReceived:function(a,b,c){this.eventBus.trigger("asyncreceive",c,b)},_onFocused:function(){this._minLengthMet()&&this.menu.update(this.input.getQuery())},_onBlurred:function(){this.input.hasQueryChangedSinceLastFocus()&&this.eventBus.trigger("change",this.input.getQuery())},_onEnterKeyed:function(a,b){var c;(c=this.menu.getActiveSelectable())&&this.select(c)&&b.preventDefault()},_onTabKeyed:function(a,b){var c;(c=this.menu.getActiveSelectable())?this.select(c)&&b.preventDefault():(c=this.menu.getTopSelectable())&&this.autocomplete(c)&&b.preventDefault()},_onEscKeyed:function(){this.close()},_onUpKeyed:function(){this.moveCursor(-1)},_onDownKeyed:function(){this.moveCursor(1)},_onLeftKeyed:function(){"rtl"===this.dir&&this.input.isCursorAtEnd()&&this.autocomplete(this.menu.getTopSelectable())},_onRightKeyed:function(){"ltr"===this.dir&&this.input.isCursorAtEnd()&&this.autocomplete(this.menu.getTopSelectable())},_onQueryChanged:function(a,b){this._minLengthMet(b)?this.menu.update(b):this.menu.empty()},_onWhitespaceChanged:function(){this._updateHint()},_onLangDirChanged:function(a,b){this.dir!==b&&(this.dir=b,this.menu.setLanguageDirection(b))},_openIfActive:function(){this.isActive()&&this.open()},_minLengthMet:function(a){return a=b.isString(a)?a:this.input.getQuery()||"",a.length>=this.minLength},_updateHint:function(){var a,c,d,e,f,h,i;a=this.menu.getTopSelectable(),c=this.menu.getSelectableData(a),d=this.input.getInputValue(),!c||b.isBlankString(d)||this.input.hasOverflow()?this.input.clearHint():(e=g.normalizeQuery(d),f=b.escapeRegExChars(e),h=new RegExp("^(?:"+f+")(.+$)","i"),i=h.exec(c.val),i&&this.input.setHint(d+i[1]))},isEnabled:function(){return this.enabled},enable:function(){this.enabled=!0},disable:function(){this.enabled=!1},isActive:function(){return this.active},activate:function(){return this.isActive()?!0:!this.isEnabled()||this.eventBus.before("active")?!1:(this.active=!0,this.eventBus.trigger("active"),!0)},deactivate:function(){return this.isActive()?this.eventBus.before("idle")?!1:(this.active=!1,this.close(),this.eventBus.trigger("idle"),!0):!0},isOpen:function(){return this.menu.isOpen()},open:function(){return this.isOpen()||this.eventBus.before("open")||(this.menu.open(),this._updateHint(),this.eventBus.trigger("open")),this.isOpen()},close:function(){return this.isOpen()&&!this.eventBus.before("close")&&(this.menu.close(),this.input.clearHint(),this.input.resetInputValue(),this.eventBus.trigger("close")),!this.isOpen()},setVal:function(a){this.input.setQuery(b.toStr(a))},getVal:function(){return this.input.getQuery()},select:function(a){var b=this.menu.getSelectableData(a);return b&&!this.eventBus.before("select",b.obj)?(this.input.setQuery(b.val,!0),this.eventBus.trigger("select",b.obj),this.close(),!0):!1},autocomplete:function(a){var b,c,d;return b=this.input.getQuery(),c=this.menu.getSelectableData(a),d=c&&b!==c.val,d&&!this.eventBus.before("autocomplete",c.obj)?(this.input.setQuery(c.val),this.eventBus.trigger("autocomplete",c.obj),!0):!1},moveCursor:function(a){var b,c,d,e,f;return b=this.input.getQuery(),c=this.menu.selectableRelativeToCursor(a),d=this.menu.getSelectableData(c),e=d?d.obj:null,f=this._minLengthMet()&&this.menu.update(b),f||this.eventBus.before("cursorchange",e)?!1:(this.menu.setCursor(c),d?this.input.setInputValue(d.val):(this.input.resetInputValue(),this._updateHint()),this.eventBus.trigger("cursorchange",e),!0)},destroy:function(){this.input.destroy(),this.menu.destroy()}}),c}();!function(){"use strict";function e(b,c){b.each(function(){var b,d=a(this);(b=d.data(p.typeahead))&&c(b,d)})}function f(a,b){return a.clone().addClass(b.classes.hint).removeData().css(b.css.hint).css(l(a)).prop("readonly",!0).removeAttr("id name placeholder required").attr({autocomplete:"off",spellcheck:"false",tabindex:-1})}function h(a,b){a.data(p.attrs,{dir:a.attr("dir"),autocomplete:a.attr("autocomplete"),spellcheck:a.attr("spellcheck"),style:a.attr("style")}),a.addClass(b.classes.input).attr({autocomplete:"off",spellcheck:!1});try{!a.attr("dir")&&a.attr("dir","auto")}catch(c){}return a}function l(a){return{backgroundAttachment:a.css("background-attachment"),backgroundClip:a.css("background-clip"),backgroundColor:a.css("background-color"),backgroundImage:a.css("background-image"),backgroundOrigin:a.css("background-origin"),backgroundPosition:a.css("background-position"),backgroundRepeat:a.css("background-repeat"),backgroundSize:a.css("background-size")}}function m(a){var c,d;c=a.data(p.www),d=a.parent().filter(c.selectors.wrapper),b.each(a.data(p.attrs),function(c,d){b.isUndefined(c)?a.removeAttr(d):a.attr(d,c)}),a.removeData(p.typeahead).removeData(p.www).removeData(p.attr).removeClass(c.classes.input),d.length&&(a.detach().insertAfter(d),d.remove())}function n(c){var d,e;return d=b.isJQuery(c)||b.isElement(c),e=d?a(c).first():[],e.length?e:null}var o,p,q;o=a.fn.typeahead,p={www:"tt-www",attrs:"tt-attrs",typeahead:"tt-typeahead"},q={initialize:function(e,l){function m(){var c,m,q,r,s,t,u,v,w,x,y;b.each(l,function(a){a.highlight=!!e.highlight}),c=a(this),m=a(o.html.wrapper),q=n(e.hint),r=n(e.menu),s=e.hint!==!1&&!q,t=e.menu!==!1&&!r,s&&(q=f(c,o)),t&&(r=a(o.html.menu).css(o.css.menu)),q&&q.val(""),c=h(c,o),(s||t)&&(m.css(o.css.wrapper),c.css(s?o.css.input:o.css.inputWithNoHint),c.wrap(m).parent().prepend(s?q:null).append(t?r:null)),y=t?j:i,u=new d({el:c}),v=new g({hint:q,input:c},o),w=new y({node:r,datasets:l},o),x=new k({input:v,menu:w,eventBus:u,minLength:e.minLength},o),c.data(p.www,o),c.data(p.typeahead,x)}var o;return l=b.isArray(l)?l:[].slice.call(arguments,1),e=e||{},o=c(e.classNames),this.each(m)},isEnabled:function(){var a;return e(this.first(),function(b){a=b.isEnabled()}),a},enable:function(){return e(this,function(a){a.enable()}),this},disable:function(){return e(this,function(a){a.disable()}),this},isActive:function(){var a;return e(this.first(),function(b){a=b.isActive()}),a},activate:function(){return e(this,function(a){a.activate()}),this},deactivate:function(){return e(this,function(a){a.deactivate()}),this},isOpen:function(){var a;return e(this.first(),function(b){a=b.isOpen()}),a},open:function(){return e(this,function(a){a.open()}),this},close:function(){return e(this,function(a){a.close()}),this},select:function(b){var c=!1,d=a(b);return e(this.first(),function(a){c=a.select(d)}),c},autocomplete:function(b){var c=!1,d=a(b);return e(this.first(),function(a){c=a.autocomplete(d)}),c},moveCursor:function(a){var b=!1;return e(this.first(),function(c){b=c.moveCursor(a)}),b},val:function(a){var b;return arguments.length?(e(this,function(b){b.setVal(a)}),this):(e(this.first(),function(a){b=a.getVal()}),b)},destroy:function(){return e(this,function(a,b){m(b),a.destroy()}),this}},a.fn.typeahead=function(a){return q[a]?q[a].apply(this,[].slice.call(arguments,1)):q.initialize.apply(this,arguments)},a.fn.typeahead.noConflict=function(){return a.fn.typeahead=o,this}}()});
|
@@ -0,0 +1,8 @@
|
|
1
|
+
/*!
|
2
|
+
* Waves v0.7.4
|
3
|
+
* http://fian.my.id/Waves
|
4
|
+
*
|
5
|
+
* Copyright 2014 Alfiana E. Sibuea and other contributors
|
6
|
+
* Released under the MIT license
|
7
|
+
* https://github.com/fians/Waves/blob/master/LICENSE
|
8
|
+
*/.waves-effect{position:relative;cursor:pointer;display:inline-block;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.waves-effect .waves-ripple{position:absolute;border-radius:50%;width:100px;height:100px;margin-top:-50px;margin-left:-50px;opacity:0;background:rgba(0,0,0,.2);background:-webkit-radial-gradient(rgba(0,0,0,.2) 0,rgba(0,0,0,.3) 40%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.5) 60%,rgba(255,255,255,0) 70%);background:-o-radial-gradient(rgba(0,0,0,.2) 0,rgba(0,0,0,.3) 40%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.5) 60%,rgba(255,255,255,0) 70%);background:-moz-radial-gradient(rgba(0,0,0,.2) 0,rgba(0,0,0,.3) 40%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.5) 60%,rgba(255,255,255,0) 70%);background:radial-gradient(rgba(0,0,0,.2) 0,rgba(0,0,0,.3) 40%,rgba(0,0,0,.4) 50%,rgba(0,0,0,.5) 60%,rgba(255,255,255,0) 70%);-webkit-transition:all .5s ease-out;-moz-transition:all .5s ease-out;-o-transition:all .5s ease-out;transition:all .5s ease-out;-webkit-transition-property:-webkit-transform,opacity;-moz-transition-property:-moz-transform,opacity;-o-transition-property:-o-transform,opacity;transition-property:transform,opacity;-webkit-transform:scale(0) translate(0,0);-moz-transform:scale(0) translate(0,0);-ms-transform:scale(0) translate(0,0);-o-transform:scale(0) translate(0,0);transform:scale(0) translate(0,0);pointer-events:none}.waves-effect.waves-light .waves-ripple{background:rgba(255,255,255,.4);background:-webkit-radial-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.3) 40%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0) 70%);background:-o-radial-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.3) 40%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0) 70%);background:-moz-radial-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.3) 40%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0) 70%);background:radial-gradient(rgba(255,255,255,.2) 0,rgba(255,255,255,.3) 40%,rgba(255,255,255,.4) 50%,rgba(255,255,255,.5) 60%,rgba(255,255,255,0) 70%)}.waves-effect.waves-classic .waves-ripple{background:rgba(0,0,0,.2)}.waves-effect.waves-classic.waves-light .waves-ripple{background:rgba(255,255,255,.4)}.waves-notransition{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;transition:none!important}.waves-button,.waves-circle{-webkit-transform:translateZ(0);-moz-transform:translateZ(0);-ms-transform:translateZ(0);-o-transform:translateZ(0);transform:translateZ(0);-webkit-mask-image:-webkit-radial-gradient(circle,#fff 100%,#000 100%)}.waves-button,.waves-button:hover,.waves-button:visited,.waves-button-input{white-space:nowrap;vertical-align:middle;cursor:pointer;border:none;outline:0;color:inherit;background-color:transparent;font-size:1em;line-height:1em;text-align:center;text-decoration:none;z-index:1}.waves-button{padding:.85em 1.1em;border-radius:.2em}.waves-button-input{margin:0;padding:.85em 1.1em}.waves-input-wrapper{border-radius:.2em;vertical-align:bottom}.waves-input-wrapper.waves-button{padding:0}.waves-input-wrapper .waves-button-input{position:relative;top:0;left:0;z-index:1}.waves-circle{text-align:center;width:2.5em;height:2.5em;line-height:2.5em;border-radius:50%}.waves-float{-webkit-mask-image:none;-webkit-box-shadow:0 1px 1.5px 1px rgba(0,0,0,.12);box-shadow:0 1px 1.5px 1px rgba(0,0,0,.12);-webkit-transition:all 300ms;-moz-transition:all 300ms;-o-transition:all 300ms;transition:all 300ms}.waves-float:active{-webkit-box-shadow:0 8px 20px 1px rgba(0,0,0,.3);box-shadow:0 8px 20px 1px rgba(0,0,0,.3)}.waves-block{display:block}a.waves-effect .waves-ripple{z-index:-1}
|
@@ -0,0 +1,10 @@
|
|
1
|
+
/*!
|
2
|
+
* Waves v0.7.4
|
3
|
+
* http://fian.my.id/Waves
|
4
|
+
*
|
5
|
+
* Copyright 2014 Alfiana E. Sibuea and other contributors
|
6
|
+
* Released under the MIT license
|
7
|
+
* https://github.com/fians/Waves/blob/master/LICENSE
|
8
|
+
*/
|
9
|
+
!function(a,b){"use strict";"function"==typeof define&&define.amd?define([],function(){return b.apply(a)}):"object"==typeof exports?module.exports=b.call(a):a.Waves=b.call(a)}("object"==typeof global?global:this,function(){"use strict";function a(a){return null!==a&&a===a.window}function b(b){return a(b)?b:9===b.nodeType&&b.defaultView}function c(a){var b=typeof a;return"function"===b||"object"===b&&!!a}function d(a){return c(a)&&a.nodeType>0}function e(a){var b=m.call(a);return"[object String]"===b?l(a):c(a)&&/^\[object (HTMLCollection|NodeList|Object)\]$/.test(b)&&a.hasOwnProperty("length")?a:d(a)?[a]:[]}function f(a){var c,d,e={top:0,left:0},f=a&&a.ownerDocument;return c=f.documentElement,"undefined"!=typeof a.getBoundingClientRect&&(e=a.getBoundingClientRect()),d=b(f),{top:e.top+d.pageYOffset-c.clientTop,left:e.left+d.pageXOffset-c.clientLeft}}function g(a){var b="";for(var c in a)a.hasOwnProperty(c)&&(b+=c+":"+a[c]+";");return b}function h(a,b,c){if(c){c.classList.remove("waves-rippling");var d=c.getAttribute("data-x"),e=c.getAttribute("data-y"),f=c.getAttribute("data-scale"),h=c.getAttribute("data-translate"),i=Date.now()-Number(c.getAttribute("data-hold")),j=350-i;0>j&&(j=0),"mousemove"===a.type&&(j=150);var k="mousemove"===a.type?2500:o.duration;setTimeout(function(){var a={top:e+"px",left:d+"px",opacity:"0","-webkit-transition-duration":k+"ms","-moz-transition-duration":k+"ms","-o-transition-duration":k+"ms","transition-duration":k+"ms","-webkit-transform":f+" "+h,"-moz-transform":f+" "+h,"-ms-transform":f+" "+h,"-o-transform":f+" "+h,transform:f+" "+h};c.setAttribute("style",g(a)),setTimeout(function(){try{b.removeChild(c)}catch(a){return!1}},k)},j)}}function i(a){if(q.allowEvent(a)===!1)return null;for(var b=null,c=a.target||a.srcElement;null!==c.parentElement;){if(c.classList.contains("waves-effect")&&!(c instanceof SVGElement)){b=c;break}c=c.parentElement}return b}function j(a){var b=i(a);if(null!==b){if(b.disabled||b.getAttribute("disabled")||b.classList.contains("disabled"))return;if(q.registerEvent(a),"touchstart"===a.type&&o.delay){var c=!1,d=setTimeout(function(){d=null,o.show(a,b)},o.delay),e=function(e){d&&(clearTimeout(d),d=null,o.show(a,b)),c||(c=!0,o.hide(e,b))},f=function(a){d&&(clearTimeout(d),d=null),e(a)};b.addEventListener("touchmove",f,!1),b.addEventListener("touchend",e,!1),b.addEventListener("touchcancel",e,!1)}else o.show(a,b),n&&(b.addEventListener("touchend",o.hide,!1),b.addEventListener("touchcancel",o.hide,!1)),b.addEventListener("mouseup",o.hide,!1),b.addEventListener("mouseleave",o.hide,!1)}}var k=k||{},l=document.querySelectorAll.bind(document),m=Object.prototype.toString,n="ontouchstart"in window,o={duration:750,delay:200,show:function(a,b,c){if(2===a.button)return!1;b=b||this;var d=document.createElement("div");d.className="waves-ripple waves-rippling",b.appendChild(d);var e=f(b),h=0,i=0;"touches"in a&&a.touches.length?(h=a.touches[0].pageY-e.top,i=a.touches[0].pageX-e.left):(h=a.pageY-e.top,i=a.pageX-e.left),i=i>=0?i:0,h=h>=0?h:0;var j="scale("+b.clientWidth/100*3+")",k="translate(0,0)";c&&(k="translate("+c.x+"px, "+c.y+"px)"),d.setAttribute("data-hold",Date.now()),d.setAttribute("data-x",i),d.setAttribute("data-y",h),d.setAttribute("data-scale",j),d.setAttribute("data-translate",k);var l={top:h+"px",left:i+"px"};d.classList.add("waves-notransition"),d.setAttribute("style",g(l)),d.classList.remove("waves-notransition"),l["-webkit-transform"]=j+" "+k,l["-moz-transform"]=j+" "+k,l["-ms-transform"]=j+" "+k,l["-o-transform"]=j+" "+k,l.transform=j+" "+k,l.opacity="1";var m="mousemove"===a.type?2500:o.duration;l["-webkit-transition-duration"]=m+"ms",l["-moz-transition-duration"]=m+"ms",l["-o-transition-duration"]=m+"ms",l["transition-duration"]=m+"ms",d.setAttribute("style",g(l))},hide:function(a,b){b=b||this;for(var c=b.getElementsByClassName("waves-rippling"),d=0,e=c.length;e>d;d++)h(a,b,c[d])}},p={input:function(a){var b=a.parentNode;if("i"!==b.tagName.toLowerCase()||!b.classList.contains("waves-effect")){var c=document.createElement("i");c.className=a.className+" waves-input-wrapper",a.className="waves-button-input",b.replaceChild(c,a),c.appendChild(a);var d=window.getComputedStyle(a,null),e=d.color,f=d.backgroundColor;c.setAttribute("style","color:"+e+";background:"+f),a.setAttribute("style","background-color:rgba(0,0,0,0);")}},img:function(a){var b=a.parentNode;if("i"!==b.tagName.toLowerCase()||!b.classList.contains("waves-effect")){var c=document.createElement("i");b.replaceChild(c,a),c.appendChild(a)}}},q={touches:0,allowEvent:function(a){var b=!0;return/^(mousedown|mousemove)$/.test(a.type)&&q.touches&&(b=!1),b},registerEvent:function(a){var b=a.type;"touchstart"===b?q.touches+=1:/^(touchend|touchcancel)$/.test(b)&&setTimeout(function(){q.touches&&(q.touches-=1)},500)}};return k.init=function(a){var b=document.body;a=a||{},"duration"in a&&(o.duration=a.duration),"delay"in a&&(o.delay=a.delay),n&&(b.addEventListener("touchstart",j,!1),b.addEventListener("touchcancel",q.registerEvent,!1),b.addEventListener("touchend",q.registerEvent,!1)),b.addEventListener("mousedown",j,!1)},k.attach=function(a,b){a=e(a),"[object Array]"===m.call(b)&&(b=b.join(" ")),b=b?" "+b:"";for(var c,d,f=0,g=a.length;g>f;f++)c=a[f],d=c.tagName.toLowerCase(),-1!==["input","img"].indexOf(d)&&(p[d](c),c=c.parentElement),-1===c.className.indexOf("waves-effect")&&(c.className+=" waves-effect"+b)},k.ripple=function(a,b){a=e(a);var c=a.length;if(b=b||{},b.wait=b.wait||0,b.position=b.position||null,c)for(var d,g,h,i={},j=0,k={type:"mousedown",button:1},l=function(a,b){return function(){o.hide(a,b)}};c>j;j++)if(d=a[j],g=b.position||{x:d.clientWidth/2,y:d.clientHeight/2},h=f(d),i.x=h.left+g.x,i.y=h.top+g.y,k.pageX=i.x,k.pageY=i.y,o.show(k,d),b.wait>=0&&null!==b.wait){var m={type:"mouseup",button:1};setTimeout(l(m,d),b.wait)}},k.calm=function(a){a=e(a);for(var b={type:"mouseup",button:1},c=0,d=a.length;d>c;c++)o.hide(b,a[c])},k.displayEffect=function(a){k.init(a)},k});
|
10
|
+
//# sourceMappingURL=waves.min.js.map
|
@@ -0,0 +1,36 @@
|
|
1
|
+
.ct-chart id="#{id}"
|
2
|
+
|
3
|
+
.table-responsive.chart-table
|
4
|
+
table.table.table-striped
|
5
|
+
tbody
|
6
|
+
tr
|
7
|
+
th Serie
|
8
|
+
-for label in labels
|
9
|
+
th #{label}
|
10
|
+
-for serie in series
|
11
|
+
tr
|
12
|
+
th #{names[series.index(serie)]}
|
13
|
+
-for element in serie
|
14
|
+
td #{element}
|
15
|
+
|
16
|
+
javascript:
|
17
|
+
var labels = #{{labels}};
|
18
|
+
var series = #{{series}};
|
19
|
+
|
20
|
+
new Chartist.Line("##{id}", {
|
21
|
+
labels: labels,
|
22
|
+
series: series
|
23
|
+
}, {
|
24
|
+
fullWidth: true,
|
25
|
+
chartPadding: {
|
26
|
+
right: 40
|
27
|
+
},
|
28
|
+
height: '300px',
|
29
|
+
showLabel: true
|
30
|
+
}
|
31
|
+
);
|
32
|
+
|
33
|
+
css:
|
34
|
+
.chart-table table {
|
35
|
+
font-size: 11px;
|
36
|
+
}
|
@@ -0,0 +1,27 @@
|
|
1
|
+
.row
|
2
|
+
.col-xs-12
|
3
|
+
.lv-item.p-20.bgm-gray.m-b-5
|
4
|
+
.media
|
5
|
+
.pull-left
|
6
|
+
i.zmdi.zmdi-hc-3x.zmdi-alert-octagon.c-white
|
7
|
+
.media-body
|
8
|
+
.lv-title.c-white La página que intentas acceder no existe
|
9
|
+
small.lv-small.c-white En caso de que hayas llegado a esta dirección mediante un link dentro de la aplicación, notifica a administración.
|
10
|
+
|
11
|
+
.pull-right
|
12
|
+
a.btn.bgm-red.waves-effect.notify type="button" onclick="notify_error();this.onclick=''" Notificar a administración
|
13
|
+
|
14
|
+
javascript:
|
15
|
+
function notify_error() {
|
16
|
+
var title = 'Page not found';
|
17
|
+
var label = 'error';
|
18
|
+
var message = window.location.href;
|
19
|
+
$.ajax({
|
20
|
+
url: '/notification',
|
21
|
+
type: 'POST',
|
22
|
+
data: { title : title, message : message, label : label, link : window.location.href },
|
23
|
+
complete: function(result) {
|
24
|
+
$(".notify").replaceWith('<a class="btn bgm-green" disabled="" type="button">Notificado</a>')
|
25
|
+
}
|
26
|
+
});
|
27
|
+
}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
.row
|
2
|
+
.col-xs-12
|
3
|
+
.lv-item.p-20.bgm-red.m-b-5
|
4
|
+
.media
|
5
|
+
.pull-left
|
6
|
+
i.zmdi.zmdi-hc-3x.zmdi-alert-octagon.c-white
|
7
|
+
.media-body
|
8
|
+
.lv-title.c-white Algo salió mal
|
9
|
+
small.lv-small.c-white Los administradores acaban de ser informados de este error, ni bien tengan una solución se te notificará. Disculpá las molestias.
|
10
|
+
|
11
|
+
.pull-right
|
12
|
+
a.btn.bgm-blue.waves-effect.m-r-5 type="button" data-toggle="modal" data-target="#modal-error" Ver detalle
|
13
|
+
|
14
|
+
.modal.fade id="modal-error" tabindex="-1" role="dialog" aria-labelledby="modal-error"
|
15
|
+
.modal-dialog.modal-lg style="width:1200px;"
|
16
|
+
.modal-content
|
17
|
+
.shell-wrap
|
18
|
+
p.shell-top-bar #{env['sinatra.error'].message}
|
19
|
+
ul.shell-body
|
20
|
+
li
|
21
|
+
| #{env['sinatra.error'].message}
|
22
|
+
-for trace in env['sinatra.error'].backtrace
|
23
|
+
span #{trace}
|
24
|
+
br
|
@@ -0,0 +1,12 @@
|
|
1
|
+
- unless defined? required
|
2
|
+
- required = false
|
3
|
+
- if !(defined? id) || id.blank?
|
4
|
+
- id = "#{name}_#{rand(1000)}"
|
5
|
+
|
6
|
+
.form-group.fg-float
|
7
|
+
label #{title}
|
8
|
+
.fg-line
|
9
|
+
-if required
|
10
|
+
input.form-control.date-picker.fg-input id="#{id}" type="text" name="#{name}" required="" value="#{value}"
|
11
|
+
-else
|
12
|
+
input.form-control.date-picker.fg-input id="#{id}" type="text" name="#{name}" value="#{value}"
|
@@ -0,0 +1,18 @@
|
|
1
|
+
- unless defined? required
|
2
|
+
- required = false
|
3
|
+
- if !(defined? id) || id.blank?
|
4
|
+
- id = "#{name}_#{rand(1000)}"
|
5
|
+
- unless defined? placeholder
|
6
|
+
- placeholder = "..."
|
7
|
+
|
8
|
+
|
9
|
+
-if required
|
10
|
+
.form-group.has-feedback.has-success
|
11
|
+
label #{title}
|
12
|
+
.fg-line
|
13
|
+
input.form-control.fg-input id="#{id}" type="#{type}" placeholder=("#{placeholder}") name="#{name}" required="" value="#{value}"
|
14
|
+
-else
|
15
|
+
.form-group
|
16
|
+
label #{title}
|
17
|
+
.fg-line
|
18
|
+
input.form-control.fg-input id="#{id}" type="#{type}" placeholder=("#{placeholder}") name="#{name}" value="#{value}"
|
@@ -0,0 +1,13 @@
|
|
1
|
+
- unless defined? required
|
2
|
+
- required = false
|
3
|
+
- if !(defined? id) || id.blank?
|
4
|
+
- id = "#{name}_#{rand(1000)}"
|
5
|
+
|
6
|
+
|
7
|
+
.form-group.fg-float
|
8
|
+
label #{title}
|
9
|
+
.fg-line
|
10
|
+
-if required
|
11
|
+
input.form-control.month-picker.fg-input id="#{id}" type="text" name="#{name}" required="" value="#{value}"
|
12
|
+
-else
|
13
|
+
input.form-control.month-picker.fg-input id="#{id}" type="text" name="#{name}" value="#{value}"
|
@@ -0,0 +1,27 @@
|
|
1
|
+
- unless defined? required
|
2
|
+
- required = false
|
3
|
+
- if !(defined? id) || id.blank?
|
4
|
+
- id = "#{name}_#{rand(1000)}"
|
5
|
+
- unless defined? placeholder
|
6
|
+
- placeholder = "Selecciona..."
|
7
|
+
- unless defined? selected_elements
|
8
|
+
- selected_elements = []
|
9
|
+
|
10
|
+
-if required
|
11
|
+
.form-group.has-success
|
12
|
+
label.fg-label #{placeholder}
|
13
|
+
select.chosen id="#{id}" name="#{name}[]" data-placeholder=("#{placeholder}") chosen="" multiple="" style=("display: none;") required=""
|
14
|
+
-for element in elements
|
15
|
+
-if selected_elements.include?(element[:value].to_s)
|
16
|
+
option value="#{element[:value]}" selected="" #{element[:text]}
|
17
|
+
-else
|
18
|
+
option value="#{element[:value]}" #{element[:text]}
|
19
|
+
-else
|
20
|
+
.form-group
|
21
|
+
label.fg-label #{placeholder}
|
22
|
+
select.chosen id="#{id}" name="#{name}[]" data-placeholder=("#{placeholder}") chosen="" multiple="" style=("display: none;")
|
23
|
+
-for element in elements
|
24
|
+
-if selected_elements.include?(element[:value].to_s)
|
25
|
+
option value="#{element[:value]}" selected="" #{element[:text]}
|
26
|
+
-else
|
27
|
+
option value="#{element[:value]}" #{element[:text]}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
-for element in elements.reverse
|
2
|
+
label.radio.radio-inline.m-t-15
|
3
|
+
-if filters["#{name}"] == element[:value].to_s
|
4
|
+
input type="radio" name="#{name}" checked="" value="#{element[:value]}"
|
5
|
+
-else
|
6
|
+
input type="radio" name="#{name}" value="#{element[:value]}"
|
7
|
+
i.input-helper
|
8
|
+
span #{element[:name]}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
- unless defined? required
|
2
|
+
- required = false
|
3
|
+
- if !(defined? id) || id.blank?
|
4
|
+
- id = "#{name}_#{rand(1000)}"
|
5
|
+
- unless defined? placeholder
|
6
|
+
- placeholder = "Selecciona..."
|
7
|
+
|
8
|
+
-if required
|
9
|
+
.form-group.has-success
|
10
|
+
label #{placeholder}
|
11
|
+
select.chosen.form-control id="#{id}" name="#{name}" data-placeholder=("#{placeholder}") style=("display: none;") required=""
|
12
|
+
-for element in elements
|
13
|
+
-if chosen == element[:value]
|
14
|
+
option value="#{element[:value]}" selected="" #{element[:text]}
|
15
|
+
-else
|
16
|
+
option value="#{element[:value]}" #{element[:text]}
|
17
|
+
.help-block.with-errors
|
18
|
+
-else
|
19
|
+
.form-group
|
20
|
+
label #{placeholder}
|
21
|
+
select.chosen id="#{id}" name="#{name}" data-placeholder=("#{placeholder}") style=("display: none;")
|
22
|
+
-for element in elements
|
23
|
+
-if chosen == element[:value]
|
24
|
+
option value="#{element[:value]}" selected="" #{element[:text]}
|
25
|
+
-else
|
26
|
+
option value="#{element[:value]}" #{element[:text]}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
- unless defined? required
|
2
|
+
- required = false
|
3
|
+
- if !(defined? id) || id.blank?
|
4
|
+
- id = "#{name}_#{rand(1000)}"
|
5
|
+
- unless defined? placeholder
|
6
|
+
- placeholder = "Escribe aquí..."
|
7
|
+
|
8
|
+
.form-group
|
9
|
+
.fg-line
|
10
|
+
label.fg-label #{title}
|
11
|
+
- if required
|
12
|
+
textarea.form-control name="#{name}" placeholder=("#{placeholder}") rows="5" maxlength="#{length}" required="" #{value}
|
13
|
+
- else
|
14
|
+
textarea.form-control name="#{name}" placeholder=("#{placeholder}") rows="5" maxlength="#{length}" #{value}
|
@@ -0,0 +1,8 @@
|
|
1
|
+
.toggle-switch data-ts-color="#{color || ''}"
|
2
|
+
label.ts-label.m-b-5 for="#{id}" #{title}
|
3
|
+
br
|
4
|
+
- if value.to_i == 1
|
5
|
+
input id="#{id}" hidden="hidden" type="checkbox" name="#{name}" checked=""/
|
6
|
+
- else
|
7
|
+
input id="#{id}" hidden="hidden" type="checkbox" name="#{name}" /
|
8
|
+
label.ts-helper for="#{id}"
|
@@ -0,0 +1,12 @@
|
|
1
|
+
- unless defined? required
|
2
|
+
- required = false
|
3
|
+
- if !(defined? id) || id.blank?
|
4
|
+
- id = "#{name}_#{rand(1000)}"
|
5
|
+
|
6
|
+
.form-group.fg-float
|
7
|
+
label #{title}
|
8
|
+
.fg-line
|
9
|
+
-if required
|
10
|
+
input.form-control.year-picker.fg-input id="#{id}" type="text" name="#{name}" required="" value="#{value}"
|
11
|
+
-else
|
12
|
+
input.form-control.year-picker.fg-input id="#{id}" type="text" name="#{name}" value="#{value}"
|
@@ -0,0 +1,28 @@
|
|
1
|
+
/check
|
2
|
+
/link href="/sinatra-hexacta/vendors/fullcalendar/dist/fullcalendar.min.css" rel="stylesheet"
|
3
|
+
|
4
|
+
/animations
|
5
|
+
link href="/sinatra-hexacta/vendors/animate.css/animate.min.css" rel="stylesheet"
|
6
|
+
|
7
|
+
/check
|
8
|
+
/link href="/sinatra-hexacta/vendors/bootstrap-sweetalert/lib/sweet-alert.css" rel="stylesheet"
|
9
|
+
|
10
|
+
/icons
|
11
|
+
link href="/sinatra-hexacta/vendors/material-design-iconic-font/dist/css/material-design-iconic-font.min.css" rel="stylesheet"
|
12
|
+
|
13
|
+
/scrollbar
|
14
|
+
link href="/sinatra-hexacta/vendors/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.min.css" rel="stylesheet"
|
15
|
+
|
16
|
+
/datetimepicker
|
17
|
+
link href="/sinatra-hexacta/vendors/eonasdan-bootstrap-datetimepicker/bootstrap-datetimepicker.min.css" rel="stylesheet"
|
18
|
+
|
19
|
+
/charts
|
20
|
+
link href="/sinatra-hexacta/vendors/chartist/chartist.min.css" rel="stylesheet"
|
21
|
+
|
22
|
+
/select
|
23
|
+
link href="/sinatra-hexacta/vendors/chosen/chosen.min.css" rel="stylesheet"
|
24
|
+
|
25
|
+
/general app
|
26
|
+
link href="/sinatra-hexacta/css/app.min.1.css?version=#{settings.version}" rel="stylesheet"
|
27
|
+
link href="/sinatra-hexacta/css/app.min.2.css?version=#{settings.version}" rel="stylesheet"
|
28
|
+
link href="/sinatra-hexacta/css/shell.css?version=#{settings.version}" rel="stylesheet"
|
@@ -0,0 +1,53 @@
|
|
1
|
+
/ moment
|
2
|
+
script src="/sinatra-hexacta/vendors/moment/moment.min.js"
|
3
|
+
|
4
|
+
/ select
|
5
|
+
script src="/sinatra-hexacta/vendors/chosen/chosen.jquery.min.js"
|
6
|
+
|
7
|
+
/ datetime
|
8
|
+
script src="/sinatra-hexacta/vendors/eonasdan-bootstrap-datetimepicker/bootstrap-datetimepicker.js"
|
9
|
+
|
10
|
+
/wave effect
|
11
|
+
script src="/sinatra-hexacta/vendors/waves/waves.min.js"
|
12
|
+
|
13
|
+
/check
|
14
|
+
/script src="/vendors/bootstrap-growl/bootstrap-growl.min.js"
|
15
|
+
|
16
|
+
/check
|
17
|
+
/script src="/vendors/bower_components/bootstrap-sweetalert/lib/sweet-alert.min.js"
|
18
|
+
|
19
|
+
/scrollbar
|
20
|
+
script src="/sinatra-hexacta/vendors/malihu-custom-scrollbar-plugin/jquery.mCustomScrollbar.concat.min.js"
|
21
|
+
|
22
|
+
/validator
|
23
|
+
script src="/sinatra-hexacta/vendors/bootstrap-validator/validator.js"
|
24
|
+
|
25
|
+
/check
|
26
|
+
/script src="/vendors/bower_components/bootstrap/js/affix.js"
|
27
|
+
|
28
|
+
/check
|
29
|
+
/script src="/vendors/sparklines/jquery.sparkline.min.js"
|
30
|
+
|
31
|
+
javascript:
|
32
|
+
$(function() { //shorthand document.ready function
|
33
|
+
$('form').on('submit', function(e) { //use on if jQuery 1.7+
|
34
|
+
$(this).find(':input[required]').each(function() {
|
35
|
+
if ($(this).val() == "" || $(this).val() == null) {
|
36
|
+
$(this).parent().removeClass("success");
|
37
|
+
$(this).parent().addClass("error");
|
38
|
+
} else {
|
39
|
+
$(this).parent().removeClass("error");
|
40
|
+
$(this).parent().addClass("success");
|
41
|
+
}
|
42
|
+
})
|
43
|
+
});
|
44
|
+
$('.chosen').on('change', function(change, deselected) { //selected OR deselected
|
45
|
+
if ($(this).val() == "" || $(this).val() == null) {
|
46
|
+
$(this).parent().removeClass("success");
|
47
|
+
$(this).parent().addClass("error");
|
48
|
+
} else {
|
49
|
+
$(this).parent().removeClass("error");
|
50
|
+
$(this).parent().addClass("success");
|
51
|
+
}
|
52
|
+
});
|
53
|
+
});
|
@@ -0,0 +1,7 @@
|
|
1
|
+
script src="/sinatra-hexacta/vendors/jquery/jquery.min.js"
|
2
|
+
script src="/sinatra-hexacta/vendors/bootstrap/bootstrap.min.js"
|
3
|
+
script src="/sinatra-hexacta/vendors/typeahead.js/handlebars.js"
|
4
|
+
script src="/sinatra-hexacta/vendors/typeahead.js/typeahead.bundle.min.js"
|
5
|
+
script src="/sinatra-hexacta/vendors/chartist/chartist.min.js"
|
6
|
+
|
7
|
+
script src="/sinatra-hexacta/js/app.js?ver=#{settings.version}" type='text/javascript'
|
@@ -0,0 +1,98 @@
|
|
1
|
+
-pages = (total.to_f / filters["limit"].to_f).ceil
|
2
|
+
.block-header
|
3
|
+
h2
|
4
|
+
| Notificaciones
|
5
|
+
.pull-right #{total} notificaciones en #{pages} páginas
|
6
|
+
|
7
|
+
.row
|
8
|
+
.col-xs-3
|
9
|
+
== slim "sinatra-hexacta/notifications/form".to_sym, locals: { :notifications => notifications, :total => total, :filters => filters, :query => query }
|
10
|
+
.col-xs-9
|
11
|
+
.card
|
12
|
+
.listview
|
13
|
+
.lv-body
|
14
|
+
-for notification in notifications
|
15
|
+
.lv-item style="padding:10px 15px;border-bottom:1px solid #eee;#{notification.pending?? 'background-color: #ECF9FF;' : ''}"
|
16
|
+
.media
|
17
|
+
.pull-left.text-center.p-r-15
|
18
|
+
img.lv-img-sm alt="" src="#{Configuration::USER_PHOTO_URL}#{notification.creator.hxt_id}" title="#{notification.creator.full_name}"
|
19
|
+
input type="checkbox" name="notifications[]" value="#{notification.id}" style="position: absolute;left: 5px;bottom: 5px;"
|
20
|
+
.media-body
|
21
|
+
small.lv-small
|
22
|
+
-if notification.label == 'error'
|
23
|
+
.btn.btn-link.bgm-red.btn-xs style="font-size:6pt" #{notification.label}
|
24
|
+
-else
|
25
|
+
.btn.btn-link.bgm-blue.btn-xs style="font-size:6pt" #{notification.label}
|
26
|
+
.di-block.m-l-5 #{notification.creation_date.display}
|
27
|
+
.lv-title #{notification.title}
|
28
|
+
small.lv-small style="white-space: normal;" #{notification.message.truncate(300)}
|
29
|
+
.pull-right
|
30
|
+
ul.lv-actions.actions
|
31
|
+
li
|
32
|
+
a role="button" title="Borrar" onclick="rm_object('notifications','#{notification.id}')"
|
33
|
+
i.zmdi.zmdi-delete
|
34
|
+
li
|
35
|
+
a role="button" onclick="#{notification.pending?? "read_notify(#{notification.id},'#{notification.link}');this.onclick=''" : ''}" href="#{notification.pending?? '#' : notification.link}"
|
36
|
+
i.zmdi.zmdi-open-in-new
|
37
|
+
|
38
|
+
|
39
|
+
-total_pending = Notification.pending.for(authenticated(User)).exclude_message.count
|
40
|
+
|
41
|
+
.footer-btn
|
42
|
+
-unless authenticated(User).permissions.empty?
|
43
|
+
a.btn.btn-float.bgm-blue.m-btn.waves-effect.waves-circle.waves-float data-toggle="modal" data-target="#new-notification"
|
44
|
+
i.zmdi.zmdi-notifications-active
|
45
|
+
-if total_pending > 0
|
46
|
+
a.btn.btn-float.bgm-green.m-btn.waves-effect.waves-circle.waves-float onclick="read_all_notifications(#{{Notification.pending.for(authenticated(User)).exclude_message.all.collect { |notification| notification.id}}});this.onclick='';"
|
47
|
+
i.zmdi.zmdi-check-all
|
48
|
+
a.btn.btn-float.bgm-red.m-btn.waves-effect.waves-circle.waves-float.delete-notifications.hidden.animated.bounceIn onclick="delete_all_notifications();this.onclick='';"
|
49
|
+
i.zmdi.zmdi-delete
|
50
|
+
|
51
|
+
.footer-text
|
52
|
+
-unless authenticated(User).permissions.empty?
|
53
|
+
a.text.btn.bgm-white.c-gray data-toggle="modal" data-target="#new-notification" Nueva notificación
|
54
|
+
-if total_pending > 0
|
55
|
+
a.text.btn.bgm-white.c-gray onclick="read_all_notifications(#{{Notification.pending.for(authenticated(User)).exclude_message.all.collect { |notification| notification.id}}});this.onclick='';" Marcar como leidas
|
56
|
+
a.text.btn.bgm-white.c-gray.delete-notifications.hidden.animated.bounceIn onclick="delete_all_notifications();this.onclick='';" Borrar notificaciones
|
57
|
+
|
58
|
+
-unless authenticated(User).permissions.empty?
|
59
|
+
== slim :'sinatra-hexacta/notifications/new'
|
60
|
+
|
61
|
+
javascript:
|
62
|
+
function read_all_notifications(ids) {
|
63
|
+
$.ajax({
|
64
|
+
url: '/notifications',
|
65
|
+
type: 'POST',
|
66
|
+
data: { ids : ids },
|
67
|
+
success: function(result) {
|
68
|
+
location.reload();
|
69
|
+
}
|
70
|
+
});
|
71
|
+
}
|
72
|
+
|
73
|
+
var selected_ids = [];
|
74
|
+
$(document).ready(function(){
|
75
|
+
$("input[type=checkbox]").on( "click", function() {
|
76
|
+
selected_ids = [];
|
77
|
+
if ($( "input:checked" )[0]) {
|
78
|
+
$.each($("input[name='notifications[]']:checked"), function(){
|
79
|
+
selected_ids.push($(this).val());
|
80
|
+
});
|
81
|
+
$(".delete-notifications").removeClass("hidden");
|
82
|
+
} else {
|
83
|
+
$(".delete-notifications").addClass("hidden");
|
84
|
+
}
|
85
|
+
});
|
86
|
+
});
|
87
|
+
|
88
|
+
function delete_all_notifications() {
|
89
|
+
$.ajax({
|
90
|
+
url: '/notifications',
|
91
|
+
type: 'DELETE',
|
92
|
+
data: { ids : selected_ids },
|
93
|
+
success: function(result) {
|
94
|
+
location.reload();
|
95
|
+
}
|
96
|
+
});
|
97
|
+
}
|
98
|
+
|