bootstrap3_autocomplete_input 0.2.0 → 0.2.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/MIT-LICENSE +20 -20
- data/Rakefile +32 -32
- data/app/inputs/autocomplete_input.rb +76 -76
- data/lib/assets/javascripts/bootstrap3-autocomplete-input.js +137 -137
- data/lib/assets/javascripts/bootstrap3-typeahead.js +476 -476
- data/lib/bootstrap3_autocomplete_input.rb +23 -23
- data/lib/bootstrap3_autocomplete_input/controllers/autocomplete.rb +73 -73
- data/lib/bootstrap3_autocomplete_input/orm.rb +6 -6
- data/lib/bootstrap3_autocomplete_input/orm/active_record.rb +90 -62
- data/lib/bootstrap3_autocomplete_input/orm/mongo_mapper.rb +30 -30
- data/lib/bootstrap3_autocomplete_input/orm/mongoid.rb +44 -44
- data/lib/bootstrap3_autocomplete_input/rails/engine.rb +15 -15
- data/lib/bootstrap3_autocomplete_input/simple_form_inputs.rb +77 -77
- data/lib/bootstrap3_autocomplete_input/version.rb +3 -3
- data/lib/tasks/bootstrap3_autocomplete_input_tasks.rake +4 -4
- data/test/bootstrap3_autocomplete_input_test.rb +7 -7
- data/test/dummy/README.rdoc +28 -28
- data/test/dummy/Rakefile +6 -6
- data/test/dummy/app/assets/javascripts/application.js +18 -18
- data/test/dummy/app/assets/stylesheets/application.css.scss +3 -3
- data/test/dummy/app/controllers/application_controller.rb +5 -5
- data/test/dummy/app/controllers/clients_controller.rb +66 -66
- data/test/dummy/app/controllers/orders_controller.rb +62 -62
- data/test/dummy/app/helpers/application_helper.rb +2 -2
- data/test/dummy/app/helpers/clients_helper.rb +2 -2
- data/test/dummy/app/helpers/orders_helper.rb +2 -2
- data/test/dummy/app/models/client.rb +3 -3
- data/test/dummy/app/models/order.rb +3 -3
- data/test/dummy/app/views/clients/_form.html.erb +18 -18
- data/test/dummy/app/views/clients/edit.html.erb +6 -6
- data/test/dummy/app/views/clients/index.html.erb +24 -24
- data/test/dummy/app/views/clients/new.html.erb +5 -5
- data/test/dummy/app/views/clients/show.html.erb +4 -4
- data/test/dummy/app/views/layouts/application.html.erb +14 -14
- data/test/dummy/app/views/orders/_form.html.erb +58 -58
- data/test/dummy/app/views/orders/edit.html.erb +6 -6
- data/test/dummy/app/views/orders/index.html.erb +23 -23
- data/test/dummy/app/views/orders/new.html.erb +5 -5
- data/test/dummy/app/views/orders/show.html.erb +4 -4
- data/test/dummy/bin/bundle +3 -3
- data/test/dummy/bin/rails +4 -4
- data/test/dummy/bin/rake +4 -4
- data/test/dummy/config.ru +4 -4
- data/test/dummy/config/application.rb +25 -25
- data/test/dummy/config/boot.rb +5 -5
- data/test/dummy/config/database.yml +25 -25
- data/test/dummy/config/environment.rb +5 -5
- data/test/dummy/config/environments/development.rb +37 -37
- data/test/dummy/config/environments/production.rb +78 -78
- data/test/dummy/config/environments/test.rb +39 -39
- data/test/dummy/config/initializers/assets.rb +8 -8
- data/test/dummy/config/initializers/backtrace_silencers.rb +7 -7
- data/test/dummy/config/initializers/cookies_serializer.rb +2 -2
- data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -4
- data/test/dummy/config/initializers/inflections.rb +16 -16
- data/test/dummy/config/initializers/mime_types.rb +4 -4
- data/test/dummy/config/initializers/session_store.rb +3 -3
- data/test/dummy/config/initializers/simple_form.rb +166 -166
- data/test/dummy/config/initializers/simple_form_bootstrap.rb +136 -136
- data/test/dummy/config/initializers/wrap_parameters.rb +14 -14
- data/test/dummy/config/locales/en.yml +23 -23
- data/test/dummy/config/locales/simple_form.en.yml +31 -31
- data/test/dummy/config/routes.rb +67 -67
- data/test/dummy/config/secrets.yml +22 -22
- data/test/dummy/db/migrate/20141224031843_create_clients.rb +10 -10
- data/test/dummy/db/migrate/20141224031854_create_orders.rb +12 -12
- data/test/dummy/db/migrate/20141224032000_add_client_to_order.rb +6 -6
- data/test/dummy/db/schema.rb +30 -30
- data/test/dummy/public/404.html +67 -67
- data/test/dummy/public/422.html +67 -67
- data/test/dummy/public/500.html +66 -66
- data/test/dummy/test/controllers/clients_controller_test.rb +49 -49
- data/test/dummy/test/controllers/orders_controller_test.rb +49 -49
- data/test/dummy/test/fixtures/clients.yml +11 -11
- data/test/dummy/test/fixtures/orders.yml +11 -11
- data/test/dummy/test/helpers/clients_helper_test.rb +4 -4
- data/test/dummy/test/helpers/orders_helper_test.rb +4 -4
- data/test/dummy/test/models/client_test.rb +7 -7
- data/test/dummy/test/models/order_test.rb +7 -7
- data/test/test_helper.rb +16 -16
- metadata +52 -486
- data/test/dummy/db/development.sqlite3 +0 -0
- data/test/dummy/log/development.log +0 -2627
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/-mg3cfVFSDhBqP-XzMLP8Dwo1RHblXwbdIZm4HAoTuc.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/082UVi_1sOVWVqPnygarA-XSDB6cV7NP4oDu9J-uhxM.cache +0 -2
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/0Wm9sjUP5phpz-bcSyYtDJ8OUlF3Er7bzLsUH9luI0k.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/1OJ54PWRkRuZLp9BRvEbP46vrnFr3ir1wvQcLc8ftcI.cache +0 -3
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/1XGjOrpumIescxwYl95_qyLE0lT0f2Aqd9hzf3X2Ph0.cache +0 -2
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/2Vvymvw-ArKlWEE9eCR8soxug0U32pBrce9x0et-S0E.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/3TuMmRZUa3QpRehDpPSWdLOGr4p_22o3G6QYfOjVcks.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/3_UhoV9-saSaapW3bvqBystOFh1ML5l6gwsGNxyzZZQ.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/5VlpCU8VdVcyFp0w3VC2TJTsVZtqlKCk2BoET2fT1Fs.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/5jl9-TjIonU1XabC4NkgFRCvjf6P-3SZAswo9jeE23w.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/6pSco-V92AQ--GbyX6wt6FTmW1Rojz3vDGnDoVW3xVc.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/6vjN9xjdZSKSsXUskAPP9R7UrmT1wzmGmN0Idlm1gp8.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/7RUyWORZuXmYQjgt32wLwDWbijKL0mA9pewx4fBA9rY.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/7f6Qq4TzdvRxyc5ckM66Mwle9V0p7Aies1N2uQ8z3iQ.cache +0 -2
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/7trESZUdYEuU92IT9rt7G8FN-DH77gsFw7kU3HeURNc.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/87aFyQL4cOOlhdxFzvmLFnDF3LNIj1N8Ks16rexpctc.cache +0 -2
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/8FTEaiMwyiIYNrhFe4y-Spu31L1d07Yi9e9uvRU0QpA.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/8RapAgTzItOMZ9TolQUY0M8kb4nTyhzZjlHaFHil8Q4.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/8YGvwclY8pAsgGkVLJeB9XhQH5Zv1Yeg1o7cg0mEjdo.cache +0 -2
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/8zUcnPDeXuFxmKiRTQgvOurUYRiQ4gRO4YPcyHyVTLs.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/90DsKBtMsI5D_C1JMj_bP3H8lvca52ZplB6KF23dRbg.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/A0_Xr2l3r9_Oz82aHePa3hcqFOkoGVXGtnrb07dwd3s.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/AsBUMdWWGdh5lJqDWKcHniKyJk3722WbF2iM2XL6QmE.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/B3WeCR_rV2iTTqEZ6_2eXhBzxbWJInsIZHXpqfk6Y_M.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Bjhopp-9PvELN3upkFHAI0Uv9rP8AJDRi0yqDv_IwTc.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/C32CVY13oEp0mPJVRa5kaLmTI7QloaZ6vCNu62IZ-gY.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/CxSWaEO-QN1FmFJBC_hQHxMegmhik32Mqantfzl6JIs.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/D4yP3bLk-x0IlcoUyFzwiNBzq_jAkPH49_8IfkptI7o.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/DIzGmQDCNsDRSIRFVSk4kFublL0D8LeaNFMvgCpNVIU.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/DPkilqzfaA3umf0MXBcYPywQRXd3rfJxMx8GhcRc7vU.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/DeEMv0tVVEn7zD45CKh11V3LklKoGIvPuLE91yOGXOg.cache +0 -2
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/EAmyjUi3KjRROjuP0SSp0KiXMYWnMF9WDN3nAbY1BSQ.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ECw8oXwisAngKBewE5LglwfywaX1ZswIulGcEkKFGhY.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/EyGjwWjMj6igPpxdMpcG0vEpffIdSEmrx2RLmOUfli8.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/FEPuoQ0IPdwhbqb3PQkxqxbRV0LVK9ZmBzBGoxa_I00.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/FoGWpRX7afmu67Jq7r4sf609l79Ntt6CW0d9Ay6gX2U.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/GBO9pYH-F7fXbaJzq47ogLfLjw5bAnr0f8u-H5KWXFw.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/GZv7pkbus2LMXx4jrsZRKBJzHNau83xU3EgqNJWDlFA.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Gu6_xrJohm7qV8PJyGk0Oxxa16MKGICo8OxIUB56-FE.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/HxvtLGuzmwxsz89M7vQtB5qTILHWnRpPAQE-IJ3nH0c.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/HzyjhR0DQBOd2PaLK1cKafo3QR2tBxWFfRp0KYttDQY.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/IIa5NJ3b54gqjXm_r7azOhqQdcJxYpFxEl__yy3R1zY.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ILrKhSF0jB_k9rahZdSFyfUGxwHg1MPOqPnU7MQDWhc.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/IYF5Xr-DDYbL4UVJuO8qta_9-qKMMGDBAkQ94rBIlkQ.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/IvZubCuP04pQISsRTpbhkF9pXpkzgstJu9N3nk4flfk.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/J8E2XbtdYRFzyGGw20KtQ0qLtgg-ymD8PR6dyyPZ21w.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/JR3sf0ki9amnEgEj1Mokt6SZd41-J7LcZTofu5oUaHI.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/JSVBjAIvli26KJW3oQWyQpBuv80uoUG7ZXx94c6HPR0.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/JSfhfWhM1DxhGsiJWJUe5QQkMuWoAcaQCcjxCKLJuSI.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/JYzvA33zPy65KMWhoYzvXg2BMBZu8nCtFuXAPk93aBI.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/J_Yyw2ATOsNj-XkBW10o2l1q4WvJhcUz0MVfOBRfIBY.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/J_g-Ctv30oacCpYIXEnspJVj5nhwcc1G5gKL8fV5kak.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Jd4Iit9GGGNMuaK3o5d4Y_oZqUA3B61LPjTIpZmcjzw.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/JyWZW92KT7tmNNKXhLWT3qobZsQhRaT2bs-rbcbArYM.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/KC0_UN2KcaGc-NR459hIk2QX1iZWkgRDzhzRz3kI1Xk.cache +0 -3
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/KItyyjW6QVzn7sxcSs2XLvRaPOtS-iBifPqN4OCS0GY.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/KZsf2MPGz94sY7B4BiaVKNCA5W4sQCGFVT5qjwTXgN4.cache +0 -2
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/LN_0nSezQWSIdU_Uz5kVG91Ym9JhOlQkQHp6zYctnuY.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/LWeTLQ8VjhwXeVMQoIp9U_CIEpAL1PdvN_pU33cjJdk.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/LfdhM5RArodRURrLBHQSiOnzt_vMxWvKmeghn6n9vQw.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/LrWZNKEUGOCnMSAn6NkLbomPeA5EhjgHO7WXn8Ulxpg.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/MMGcng9AbTQMzwlxa1UgG8B8aI9pZI4n9JxUiVNL1U8.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/MZqvis7D-2gKkdUIU5yp_IJO-D2CWo7Nrd45cY2JNSY.cache +0 -2
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/MzEV6fJSpdy62ogdE9ikujeScuKDPU2E78ERuNF4xKo.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/N-JqiFyTPzJTn5hjIL7Ahc7dW2TPHrxhEvANMn5AHhY.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/N8L3WZ9ANXrOtFrb_MoORsu6CErBJm-tCdFgnFHBwbg.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/NEX1JAF9guTFiVP3YP31jbddxlzkUs0xgpQi2SyoDBc.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/NgogLyEBrvYGv_tH7utcr_9OSfs_OyLOyfV76RwwRXo.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/OhVftbcKbSB5zhog5-bu7jcN9wFao3VU98M322u7wqI.cache +0 -2
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/OhidgkgVFzwIoiMGWF1B9tRi4Ies9O_vpiD4v7jSxdY.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Orn1Yj7AVRbJPKvuBJqXVFnTTv9LKtNwzapG5T34jAw.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Os04_CMTZ6F_GmaIG2z5p7yTUvHkl3uZZjIimOAZiY0.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/OvaolF2YxXFT-gqECgnmB0LiW2i-t6nOY9oTeirHNzQ.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/P2V-Ovyqm4T0JzasUMA9pCnlsb1Ij4ywZr7UisdC2jw.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/P2Zq5nKOLCy7FHa0CJ-2v4smLn__DVMlUSqrbWsCZ2g.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/P6_dsNeHAHAQUsMliBsdafiKgtnFzDmruwAK3Q38pEs.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/P6neqKcrEsu8ukITrwMd6IKqV-hdBstjb4YXfN1A5RU.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/PYXQf7HcioPGLdg-FkvFwb9H4M7dpnqxiCxcH6GEEoo.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/QJZnPy0B78GDW8AHjsmH5Z1kolbJx9M520qO3H1MqFE.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/QjeHRInHgH27aKMBz0aChi-sEzwVHxI1Wye66eyDSM0.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/R-htS2rUHlwXbZsOkR_0MDyt_p1AeDZ7M5hthwOTIy0.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/R2eKuma6r5T-JYK5aTaUEiQz3bWFarruvXVLzTwW6NM.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/REHqXpycn1OKJ0O8Vmmoy54oykoAI3anI5sx644MSYQ.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/RGDkSsDYa4ramOeJ_xYoXXOWqzPTRPXhbMp-cild_hk.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/RVPuML7pT8VmCwQJfokwaI4zVfywzNZmDaIbUZKDee4.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/S13J0Ops4qBWriffiNoRVqjqVmNp3QOGgkGBmas8Wgs.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/SYiemk-M5wpk6kxMFaA-dpt6LntbGwlHB1lN100WOkk.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/SctZ-y_jn60jeJnI5AlkhB3UPkqSJolpZBD7glUL1SI.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/T9AKQ6uCfcFEigmg-D-wdaVUSZQxbW9TR9XJR_BenEI.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/TDb22JK3GENwB0yF60qoEAyp5DIXdIpJcqcwuIxlg9o.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/TEVe4-EpoZMDiUI1Fu0tCWhe-DrRVBfExtz_AO7hmtc.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/TYSYRZ6Z5910GOa35MabybbWLGsVPhvpKMZGqnNyd_8.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/TlJqmu6aAbgHwvXfbj2gBLArpK7GY7omM80Cati3T3c.cache +0 -2
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/UFJ4N180Ot1RILZFOe56MhmOZSJy8nbMVSsTsb8_CVU.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/UNkTv1FylEh8fw3-k3uJg0YaMQXHTdd6A1UEF4si9X8.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/UuI2Gce5G0Ww5Dp7hPSOCHHoRQjospt-pS9pwloQnYQ.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/V25Gpa1WB6ADmMXtf7IsMUV2IU9w0GgMj-5UbvHXoxc.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/VOp0pIv_pTt1jyD5JQn5Ee721CyQFQTGdnz4ODw38i4.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/VUjcp-qjg_eSBSj28ZD45AGXVVNPPtZodEd3PQrdXbM.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/VZIT-kF6ym-iLPU_pztoFEZet62g8F8J1lf_h3RdPP8.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/VxLb9zk1LVSL6c3-w5Pyu8He1E2tOUk0ZoC7jUOgt_s.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/WOec0Og8roHMzmakL0zgx2qYUokH4lQjfarxNkmDr0Q.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/WhN3OwAW2K4ws8-nLRP-3nrzIF9k8by6CuchA3yt7W4.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/WtVmBMzLLmV3cexGM5_fxt72pPmeRyKsyLRzTvZAVyE.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/XNS-blhVgxl3ACd11rN_B_pZa3ZcADOQalh9tKd_11o.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Y4QAv-xWe9eQSr_F9CYHygNR_2YM_eQ0KtJosGGh8Fk.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/YHcpExBZ8Zq0_J5bgNr7QMZ5qD8jWUBRCID56H2bwSg.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ZDCEwTTs3nQrR7_jdywpWmuLAiDtEY5QseYHAhmKhoM.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ZHpAXVoZdZeK39MIrikrGN5quZzpFJKvD3d0acEhCJ8.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ZKRR7Austip-cnR-FRsJl7d9vuPnKS72rhD28vcDzM0.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/Zd5NkPUfggpcIZ_fNmKieLC_EQdg9LDxnoL091WrO4g.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/_ebQSkgdU7qSefmDH1VQlcdNskETX_Sg8EXW9q1LceE.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/_oTf_eXfNZrpsHw18Vm63FFItRTs4xEfbOVPefWOhZ8.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/aJiK_3TkkLIeUmhbLvKn0nYbfNtL1DIR8XcQNRKA_5E.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/aRB5sfveCnELcQsQDQNsZof-Sk5pSWO9pDKjFux7Oq0.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/bKIG8vYV989yh8qLSqDNcPnK8QkJDs2p_siUsUdqMi0.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/bPqmxYqgFbdAFSzKQvJDY4IQ4T6N3mBSwO3anpDc7pc.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/c38Ct4xwkFRaFTtshlrAqDUpfvF3nvsSYT9SCDc5l0w.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/cKUNNkuaHgU4GPC0tnKxWZHoWP3Y41f226dFcumeGgg.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/cXV4XFi7Fdq2Wcfu228XjiYWU2zSIaVnG7qdigLQiP8.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/d2y5yaFNfFXIAK-MdSpmxwjS8rtxEJmmu4SRrCLu024.cache +0 -2
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/dAGLlyIO5_WkACHWq888mr7lRxAhbtJBaBQdeaD8osI.cache +0 -2
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/dPiBjlGXffCeZgyh_-MEhe6ls_jD2DwRgg99-wvSPbI.cache +0 -2
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/e9W2mtZbewWcQvned6WhRk0vyAN0G214B_YhNbgetfU.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/encDkuyjTN2ynLUIuEo0QmxTmqj---nu-farRYams_o.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/f991mNctvTDwoAEV0n5rs-FSpg7JNuRSPGgUYp4vXbs.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/fE7AiWk5ok17an4SOitj3MAX7QqgQHdjs6s0tVZhk8o.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/fe8eGGCQQR5uiCpw2bx7s5RsSWb9f_V-KC4WKTWjfBo.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/fhGKBaZLb5ntRCA2Sz7MEpnkzVsnbZ6SUQqDJ2bGTjY.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/fkojyc_IoxwXmFmmqaonisRO3pEk62lThpeqXZnwZS0.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/fo9Av-3dEhaG96b0clmWHk-YmTzxnUjEOEEnE48iTPw.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/fxxwVBnrGbn4UkXXP4WnuEHFZta-yb1nYtqqGkv67dw.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/g3bqmsWAx47hbF9GuGpkKwkD_wV4_sDnXSwczgv_VvY.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/g3i-jmc4ZlWPfOlFYPoxuxT3TOViO06iAKkqj1eoB18.cache +0 -2
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/gRI-pcFrPsEpwuEPpmvGNVc7-OuQ5uDq0TMtaDp84II.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/gRYAmqUkkNzzPNApj2TKQECWlU2WIavwO2HpA4CaSSg.cache +0 -2
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/gfawGFrAFwNjKdml-B2K1XLsPcflqJMY1hPKulcEDH4.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/gguGKFbZ33ujIAd60uBzLXT8zfh8uzvhww75n9CNWes.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/gqMCKsEmDOFbKbq6J9tlppjvMjRbljn5qiwywfEaC68.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/hzpC-lkPG3h5g3d3gqd4hAXpmmK3bLg_FOAXNYPcEXI.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/iBDA_8qTARjY-sLzGKQ0IpdK6VZryiy1v8akmXXl6Qs.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/iBEZOY291Pf3KFBRLScEoUMw27Q4_V7-ydNUJcdAlCk.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/iCW6TjgfeLPI7IjVwbI7GtD0QFXlzMLtPzA8EOtlVJc.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/igKeTb6HRrsLCjVMF3TZ1XFeXzgL67knSwMs6fzCQs4.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/j0gO2KugZ-oSi3EoJHmQac1dzSNqZ6Ovm_laQaDINXc.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/jLU80UXQ0ID0T2wuQzgTpeiz66a-mX51ut7gKpXHhkY.cache +0 -2
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/jUFu99w0h91M-He0NmmHxyVxS2NhzIge_LMXAX3Cv68.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/jUtvD4pGbNMtwpJMzluLvDskTPoioE73ED3zBiSSXh0.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/jeM8vKKoogFV14R2GCf85YYWgwxds-1CqhQE-7lMKtc.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/jrzFg7pc95kxRo2lb43_oaVewpNnV-KSgajlXErKSEk.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/kKm32HSrKMZlMtbTkoMrnKhLhyIm0gxAairQ2gx2O2g.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/kMi-8icN6HhEfPwsT0M7Dw-jG1-UufNVL529kynEBRo.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/kQUK-_C_L3ym9vNQMTpE4YIPrneID5wcTIbqypcTPko.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/kkSYXaKZZhAPmXpFX2AmSLz_k89oPQGrg0gpAEXUzJ8.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/kwN5L5AIOz-2MqVh33NySA7fbnGZzs5ytUkqErBtSjc.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/kzjV1XvHvZn0w8OYa3ZCP0CO8QUKAUVpT8XJ-d4GBWc.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/lN-7mRUOKKfxPL9N43WtaVS5J_ok7iPAEjWGDOCua-E.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/mGBRBidXLSMOB1ECqghR43QY3muC73O5NE5ggxFNyiU.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/mN-fmL62gvfyR766IjSDaugwGQoZZdScSQRx0nRYxzk.cache +0 -4
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/mPN2zlPa22thNd0_hmtUT2YCnIiZvcm0Wnlzl0BlUjY.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/mbwg-wWpR9gQsd9PMZQSpXcG8uEZg5e3QoDhy8Q9yyA.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/mg_fszp08FvNbPqxWRRiiWONLIAPqF38R-ZyXRjOffs.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/mo-0aZm-MLAcjfJeQ01doJA5V6haHU4f-cC8VU9_Zc0.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/mqnOoCPu6BrD5flXXy6FkE9ECzP3kg4g8a2I0riB20s.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/mxXsZxabboq4ohMmoFSD-1PgVNn7Cxa6-6rVZ7622_g.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/naKpfJHUaJSupQTtV2K7bed6bZljGnZ0Da9mb5ydDD0.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/nd3citvFqw15DSZpdwdeSTguzMDOenY9R8hweLsxXSA.cache +0 -2
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/njLHBH3_532cv2IMh0qWWPRYeIq8B_KujYNnX-zWFJ8.cache +0 -2
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/nvxibNFg_1dDx_QtrnoaPgfrO967FeR4deVFsuPbe2A.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/o1U02RMHohFvUciIY8uSoUK7jb4ilBLRq48pm5go_sg.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/o33DRl1ube1OwMxdViNL2iNq29PR9atm3k-TkldNOxI.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/o3EpD_zRCyOuW5uLOL7ndtcQl5lg-D6rJVMicSsvRM8.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/o59RQXR_Q6wkXOei6_mADKbVWO0HOSv7_msyobA4PUw.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/oDZ7evIiYVrxr9GQ5ZkUf8ygBhb2exFWUWB5pkhucvs.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/oF-LMVaeaRSCbbEuogQWFERrOJ8q8bSI8gsztTolGTc.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/oJkixKWJPnSYNL4pJE1ExR9PCXYXxLK_7Tbp2oxKdRs.cache +0 -2
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ogYJfSgIhrTf0EMors1fbPA8zaMprsnmSGqtV9xJOoY.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/oiUWZkreLvzxXe8Ibq1U-fFSnPNujZlCtbnQ-rM8I_0.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/pgTDnkWEnfqH2_PHkgFWNGfuUlMs0vcpZ4TTUWj7DjY.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/q4TyphGjKkbMsiXlQEBP3YF3r2uGT_5D78ECjXUTJlI.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/qMen-Bi1pRTeeOVkDpTApSJS0Mb7vZ2qG_WilqgYUw4.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/qhk95qwwNyqnkFfB9anGeJIar3pb_Ok3C-phv-NKe14.cache +0 -2
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/sGrNk6qzBilD1Q-ngkYNdnkRiWSOFtdocAXZfx9EDOo.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/sIoAXkxhOt4OwdazvsrPd936PTLZ6rfn-CLwnivSyRE.cache +0 -3
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/sQtjxYVOSd1JLGnBLlFZktvAcSI2vUHunWBo2Drs3Wc.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/sR_hownN-0xn3moKv7Ajqlm9TBeFqebDJNx4_KyJg4w.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/sdgsM-FMyiDyMNvs1AGO3c1lXEOHwaalyUre27HF6Wc.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/szWM3KymL9_pjYcYDrMxwaEsOGQRv1JGrkjL111_ld8.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/t4kK--pnTBvUaG_EaxE0QdcAYUDvz2J44YoZ31g6aiI.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/tT7qP_uNs0yqy6epcQ3rZFKYE31XrkLNHHksm7SRa1Y.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/tcp07gfL0NfjUNXz9l5OzMCTSEPIXYtQqvSpYN23NEc.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/tzfJL7zpstdTx8sIaC4kBIn5fVh4an7nA6JRjUvsWlc.cache +0 -2
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/u31I5hOPxqIwdaZFMHD5MK8tRoDxSLqUGmmuJee1AB8.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/uH2U3XBL74ClJKjZfMg0Z-XUymFPHz_nw874z1o8cgQ.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/uTCCczdwuSgJn3cGZTsW1hO5AfzhDXR4k05fXEtTqJ4.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/vKq2zNINduXwzoU7ypwQ7HhWIBMpsm6bWG-TrdLQwx8.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/vr-3q4bFqTLVghBsGCuaYwWsu9neaC6CxXyGcbMgJXI.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/vsrOJ__Jw6wO4wIfI78s4vj724cWjRHPuLYikSchZgw.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/wIdE_LyLeMJJMRDp5_ra6M6p80RVJ8wRoyup3qcPr5s.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/wL-zyJ9le1RGsZS2ilR_MEL2SP5k608occXFA3APVk0.cache +0 -2
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/wRf10s6x3FdwceR-Wec1OEJojYT4-nx_W5TmBRfnqxo.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/wgMNEhYIa_7_eZ8nRG3HBGmWxeU4g20Gy3mZTxBmO58.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/wxZEvcAOQzIpOM1UX7WnhNGzTaGTqN-X5iEBAo79sTY.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/x2xVoqg_b8pzh_5jm69qnLGNo0bs2qiGyJTTVyK5hSg.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/xCy2bvUq7IOGhue2JKzz441TmN1oRJyX1_UR9jyKh_c.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/xbGJdKwoHlq_Omotd1zzs_DpFQU0ZqaJu3jMDkZkcG4.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/xfmHJQRraf8PBicsrclptW92VcsmKnv0C1-li34kR5A.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/xkTm2fggBx_ia7SaQwRTaiYlGPB3xLb9RrVtRPlGXkw.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/yJd0DjweiOabfW7NYj2RVQn7Hg2uMxQb0-e7GVK14BM.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/yMv1yc3IXm2Gx5J6wNgr5h3rye40ceHEO9KYXVefWT8.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/ykrOthCWx4A_BeWEpAMuno7chYkPOgs2zlUCAsZTmw4.cache +0 -0
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/z_9E1SAZEAZrN1_FpaWv6MmCe7PNGUoXMmSIf3urF2E.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/zaoWZ05WuQUJ2E5tl6m_ztvSiFCt09hG5WnDe2dgDvU.cache +0 -1
- data/test/dummy/tmp/cache/assets/development/sprockets/v3.0/zvo2j3jd6NQvnulBEL9d6-WMJ67wNdmTRQj7B-W5qYo.cache +0 -0
- data/test/dummy/tmp/pids/server.pid +0 -1
@@ -1,476 +1,476 @@
|
|
1
|
-
/* =============================================================
|
2
|
-
* bootstrap3-typeahead.js v3.1.0
|
3
|
-
* https://github.com/bassjobsen/Bootstrap-3-Typeahead
|
4
|
-
* =============================================================
|
5
|
-
* Original written by @mdo and @fat
|
6
|
-
* =============================================================
|
7
|
-
* Copyright 2014 Bass Jobsen @bassjobsen
|
8
|
-
*
|
9
|
-
* Licensed under the Apache License, Version 2.0 (the 'License');
|
10
|
-
* you may not use this file except in compliance with the License.
|
11
|
-
* You may obtain a copy of the License at
|
12
|
-
*
|
13
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
14
|
-
*
|
15
|
-
* Unless required by applicable law or agreed to in writing, software
|
16
|
-
* distributed under the License is distributed on an 'AS IS' BASIS,
|
17
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
18
|
-
* See the License for the specific language governing permissions and
|
19
|
-
* limitations under the License.
|
20
|
-
* ============================================================ */
|
21
|
-
|
22
|
-
|
23
|
-
(function (root, factory) {
|
24
|
-
|
25
|
-
'use strict';
|
26
|
-
|
27
|
-
// CommonJS module is defined
|
28
|
-
if (typeof module !== 'undefined' && module.exports) {
|
29
|
-
module.exports = factory(require('jquery'));
|
30
|
-
}
|
31
|
-
// AMD module is defined
|
32
|
-
else if (typeof define === 'function' && define.amd) {
|
33
|
-
define(['jquery'], function ($) {
|
34
|
-
return factory ($);
|
35
|
-
});
|
36
|
-
} else {
|
37
|
-
factory(root.jQuery);
|
38
|
-
}
|
39
|
-
|
40
|
-
}(this, function ($) {
|
41
|
-
|
42
|
-
'use strict';
|
43
|
-
// jshint laxcomma: true
|
44
|
-
|
45
|
-
|
46
|
-
/* TYPEAHEAD PUBLIC CLASS DEFINITION
|
47
|
-
* ================================= */
|
48
|
-
|
49
|
-
var Typeahead = function (element, options) {
|
50
|
-
this.$element = $(element);
|
51
|
-
this.options = $.extend({}, $.fn.typeahead.defaults, options);
|
52
|
-
this.matcher = this.options.matcher || this.matcher;
|
53
|
-
this.sorter = this.options.sorter || this.sorter;
|
54
|
-
this.select = this.options.select || this.select;
|
55
|
-
this.autoSelect = typeof this.options.autoSelect == 'boolean' ? this.options.autoSelect : true;
|
56
|
-
this.highlighter = this.options.highlighter || this.highlighter;
|
57
|
-
this.render = this.options.render || this.render;
|
58
|
-
this.updater = this.options.updater || this.updater;
|
59
|
-
this.displayText = this.options.displayText || this.displayText;
|
60
|
-
this.source = this.options.source;
|
61
|
-
this.delay = this.options.delay;
|
62
|
-
this.$menu = $(this.options.menu);
|
63
|
-
this.$appendTo = this.options.appendTo ? $(this.options.appendTo) : null;
|
64
|
-
this.shown = false;
|
65
|
-
this.listen();
|
66
|
-
this.showHintOnFocus = typeof this.options.showHintOnFocus == 'boolean' ? this.options.showHintOnFocus : false;
|
67
|
-
this.afterSelect = this.options.afterSelect;
|
68
|
-
this.addItem = false;
|
69
|
-
};
|
70
|
-
|
71
|
-
Typeahead.prototype = {
|
72
|
-
|
73
|
-
constructor: Typeahead,
|
74
|
-
|
75
|
-
select: function () {
|
76
|
-
var val = this.$menu.find('.active').data('value');
|
77
|
-
this.$element.data('active', val);
|
78
|
-
if(this.autoSelect || val) {
|
79
|
-
var newVal = this.updater(val);
|
80
|
-
this.$element
|
81
|
-
.val(this.displayText(newVal) || newVal)
|
82
|
-
.change();
|
83
|
-
this.afterSelect(newVal);
|
84
|
-
}
|
85
|
-
return this.hide();
|
86
|
-
},
|
87
|
-
|
88
|
-
updater: function (item) {
|
89
|
-
return item;
|
90
|
-
},
|
91
|
-
|
92
|
-
setSource: function (source) {
|
93
|
-
this.source = source;
|
94
|
-
},
|
95
|
-
|
96
|
-
show: function () {
|
97
|
-
var pos = $.extend({}, this.$element.position(), {
|
98
|
-
height: this.$element[0].offsetHeight
|
99
|
-
}), scrollHeight;
|
100
|
-
|
101
|
-
scrollHeight = typeof this.options.scrollHeight == 'function' ?
|
102
|
-
this.options.scrollHeight.call() :
|
103
|
-
this.options.scrollHeight;
|
104
|
-
|
105
|
-
(this.$appendTo ? this.$menu.appendTo(this.$appendTo) : this.$menu.insertAfter(this.$element))
|
106
|
-
.css({
|
107
|
-
top: pos.top + pos.height + scrollHeight
|
108
|
-
, left: pos.left
|
109
|
-
})
|
110
|
-
.show();
|
111
|
-
|
112
|
-
this.shown = true;
|
113
|
-
return this;
|
114
|
-
},
|
115
|
-
|
116
|
-
hide: function () {
|
117
|
-
this.$menu.hide();
|
118
|
-
this.shown = false;
|
119
|
-
return this;
|
120
|
-
},
|
121
|
-
|
122
|
-
lookup: function (query) {
|
123
|
-
var items;
|
124
|
-
if (typeof(query) != 'undefined' && query !== null) {
|
125
|
-
this.query = query;
|
126
|
-
} else {
|
127
|
-
this.query = this.$element.val() || '';
|
128
|
-
}
|
129
|
-
|
130
|
-
if (this.query.length < this.options.minLength) {
|
131
|
-
return this.shown ? this.hide() : this;
|
132
|
-
}
|
133
|
-
|
134
|
-
var worker = $.proxy(function() {
|
135
|
-
|
136
|
-
if($.isFunction(this.source)) this.source(this.query, $.proxy(this.process, this));
|
137
|
-
else if (this.source) {
|
138
|
-
this.process(this.source);
|
139
|
-
}
|
140
|
-
}, this);
|
141
|
-
|
142
|
-
clearTimeout(this.lookupWorker);
|
143
|
-
this.lookupWorker = setTimeout(worker, this.delay);
|
144
|
-
},
|
145
|
-
|
146
|
-
process: function (items) {
|
147
|
-
var that = this;
|
148
|
-
|
149
|
-
items = $.grep(items, function (item) {
|
150
|
-
return that.matcher(item);
|
151
|
-
});
|
152
|
-
|
153
|
-
items = this.sorter(items);
|
154
|
-
|
155
|
-
if (!items.length && !this.options.addItem) {
|
156
|
-
return this.shown ? this.hide() : this;
|
157
|
-
}
|
158
|
-
|
159
|
-
if (items.length > 0) {
|
160
|
-
this.$element.data('active', items[0]);
|
161
|
-
} else {
|
162
|
-
this.$element.data('active', null);
|
163
|
-
}
|
164
|
-
|
165
|
-
// Add item
|
166
|
-
if (this.options.addItem){
|
167
|
-
items.push(this.options.addItem);
|
168
|
-
}
|
169
|
-
|
170
|
-
if (this.options.items == 'all') {
|
171
|
-
return this.render(items).show();
|
172
|
-
} else {
|
173
|
-
return this.render(items.slice(0, this.options.items)).show();
|
174
|
-
}
|
175
|
-
},
|
176
|
-
|
177
|
-
matcher: function (item) {
|
178
|
-
var it = this.displayText(item);
|
179
|
-
return ~it.toLowerCase().indexOf(this.query.toLowerCase());
|
180
|
-
},
|
181
|
-
|
182
|
-
sorter: function (items) {
|
183
|
-
var beginswith = []
|
184
|
-
, caseSensitive = []
|
185
|
-
, caseInsensitive = []
|
186
|
-
, item;
|
187
|
-
|
188
|
-
while ((item = items.shift())) {
|
189
|
-
var it = this.displayText(item);
|
190
|
-
if (!it.toLowerCase().indexOf(this.query.toLowerCase())) beginswith.push(item);
|
191
|
-
else if (~it.indexOf(this.query)) caseSensitive.push(item);
|
192
|
-
else caseInsensitive.push(item);
|
193
|
-
}
|
194
|
-
|
195
|
-
return beginswith.concat(caseSensitive, caseInsensitive);
|
196
|
-
},
|
197
|
-
|
198
|
-
highlighter: function (item) {
|
199
|
-
var html = $('<div></div>');
|
200
|
-
var query = this.query;
|
201
|
-
var i = item.toLowerCase().indexOf(query.toLowerCase());
|
202
|
-
var len, leftPart, middlePart, rightPart, strong;
|
203
|
-
len = query.length;
|
204
|
-
if(len === 0){
|
205
|
-
return html.text(item).html();
|
206
|
-
}
|
207
|
-
while (i > -1) {
|
208
|
-
leftPart = item.substr(0, i);
|
209
|
-
middlePart = item.substr(i, len);
|
210
|
-
rightPart = item.substr(i + len);
|
211
|
-
strong = $('<strong></strong>').text(middlePart);
|
212
|
-
html
|
213
|
-
.append(document.createTextNode(leftPart))
|
214
|
-
.append(strong);
|
215
|
-
item = rightPart;
|
216
|
-
i = item.toLowerCase().indexOf(query.toLowerCase());
|
217
|
-
}
|
218
|
-
return html.append(document.createTextNode(item)).html();
|
219
|
-
},
|
220
|
-
|
221
|
-
render: function (items) {
|
222
|
-
var that = this;
|
223
|
-
var self = this;
|
224
|
-
var activeFound = false;
|
225
|
-
items = $(items).map(function (i, item) {
|
226
|
-
var text = self.displayText(item);
|
227
|
-
i = $(that.options.item).data('value', item);
|
228
|
-
i.find('a').html(that.highlighter(text));
|
229
|
-
if (text == self.$element.val()) {
|
230
|
-
i.addClass('active');
|
231
|
-
self.$element.data('active', item);
|
232
|
-
activeFound = true;
|
233
|
-
}
|
234
|
-
return i[0];
|
235
|
-
});
|
236
|
-
|
237
|
-
if (this.autoSelect && !activeFound) {
|
238
|
-
items.first().addClass('active');
|
239
|
-
this.$element.data('active', items.first().data('value'));
|
240
|
-
}
|
241
|
-
this.$menu.html(items);
|
242
|
-
return this;
|
243
|
-
},
|
244
|
-
|
245
|
-
displayText: function(item) {
|
246
|
-
return item.name || item;
|
247
|
-
},
|
248
|
-
|
249
|
-
next: function (event) {
|
250
|
-
var active = this.$menu.find('.active').removeClass('active')
|
251
|
-
, next = active.next();
|
252
|
-
|
253
|
-
if (!next.length) {
|
254
|
-
next = $(this.$menu.find('li')[0]);
|
255
|
-
}
|
256
|
-
|
257
|
-
next.addClass('active');
|
258
|
-
},
|
259
|
-
|
260
|
-
prev: function (event) {
|
261
|
-
var active = this.$menu.find('.active').removeClass('active')
|
262
|
-
, prev = active.prev();
|
263
|
-
|
264
|
-
if (!prev.length) {
|
265
|
-
prev = this.$menu.find('li').last();
|
266
|
-
}
|
267
|
-
|
268
|
-
prev.addClass('active');
|
269
|
-
},
|
270
|
-
|
271
|
-
listen: function () {
|
272
|
-
this.$element
|
273
|
-
.on('focus', $.proxy(this.focus, this))
|
274
|
-
.on('blur', $.proxy(this.blur, this))
|
275
|
-
.on('keypress', $.proxy(this.keypress, this))
|
276
|
-
.on('keyup', $.proxy(this.keyup, this));
|
277
|
-
|
278
|
-
if (this.eventSupported('keydown')) {
|
279
|
-
this.$element.on('keydown', $.proxy(this.keydown, this));
|
280
|
-
}
|
281
|
-
|
282
|
-
this.$menu
|
283
|
-
.on('click', $.proxy(this.click, this))
|
284
|
-
.on('mouseenter', 'li', $.proxy(this.mouseenter, this))
|
285
|
-
.on('mouseleave', 'li', $.proxy(this.mouseleave, this));
|
286
|
-
},
|
287
|
-
|
288
|
-
destroy : function () {
|
289
|
-
this.$element.data('typeahead',null);
|
290
|
-
this.$element.data('active',null);
|
291
|
-
this.$element
|
292
|
-
.off('focus')
|
293
|
-
.off('blur')
|
294
|
-
.off('keypress')
|
295
|
-
.off('keyup');
|
296
|
-
|
297
|
-
if (this.eventSupported('keydown')) {
|
298
|
-
this.$element.off('keydown');
|
299
|
-
}
|
300
|
-
|
301
|
-
this.$menu.remove();
|
302
|
-
},
|
303
|
-
|
304
|
-
eventSupported: function(eventName) {
|
305
|
-
var isSupported = eventName in this.$element;
|
306
|
-
if (!isSupported) {
|
307
|
-
this.$element.setAttribute(eventName, 'return;');
|
308
|
-
isSupported = typeof this.$element[eventName] === 'function';
|
309
|
-
}
|
310
|
-
return isSupported;
|
311
|
-
},
|
312
|
-
|
313
|
-
move: function (e) {
|
314
|
-
if (!this.shown) return;
|
315
|
-
|
316
|
-
switch(e.keyCode) {
|
317
|
-
case 9: // tab
|
318
|
-
case 13: // enter
|
319
|
-
case 27: // escape
|
320
|
-
e.preventDefault();
|
321
|
-
break;
|
322
|
-
|
323
|
-
case 38: // up arrow
|
324
|
-
// with the shiftKey (this is actually the left parenthesis)
|
325
|
-
if (e.shiftKey) return;
|
326
|
-
e.preventDefault();
|
327
|
-
this.prev();
|
328
|
-
break;
|
329
|
-
|
330
|
-
case 40: // down arrow
|
331
|
-
// with the shiftKey (this is actually the right parenthesis)
|
332
|
-
if (e.shiftKey) return;
|
333
|
-
e.preventDefault();
|
334
|
-
this.next();
|
335
|
-
break;
|
336
|
-
}
|
337
|
-
|
338
|
-
e.stopPropagation();
|
339
|
-
},
|
340
|
-
|
341
|
-
keydown: function (e) {
|
342
|
-
this.suppressKeyPressRepeat = ~$.inArray(e.keyCode, [40,38,9,13,27]);
|
343
|
-
if (!this.shown && e.keyCode == 40) {
|
344
|
-
this.lookup();
|
345
|
-
} else {
|
346
|
-
this.move(e);
|
347
|
-
}
|
348
|
-
},
|
349
|
-
|
350
|
-
keypress: function (e) {
|
351
|
-
if (this.suppressKeyPressRepeat) return;
|
352
|
-
this.move(e);
|
353
|
-
},
|
354
|
-
|
355
|
-
keyup: function (e) {
|
356
|
-
switch(e.keyCode) {
|
357
|
-
case 40: // down arrow
|
358
|
-
case 38: // up arrow
|
359
|
-
case 16: // shift
|
360
|
-
case 17: // ctrl
|
361
|
-
case 18: // alt
|
362
|
-
break;
|
363
|
-
|
364
|
-
case 9: // tab
|
365
|
-
case 13: // enter
|
366
|
-
if (!this.shown) return;
|
367
|
-
this.select();
|
368
|
-
break;
|
369
|
-
|
370
|
-
case 27: // escape
|
371
|
-
if (!this.shown) return;
|
372
|
-
this.hide();
|
373
|
-
break;
|
374
|
-
default:
|
375
|
-
this.lookup();
|
376
|
-
}
|
377
|
-
|
378
|
-
e.stopPropagation();
|
379
|
-
e.preventDefault();
|
380
|
-
},
|
381
|
-
|
382
|
-
focus: function (e) {
|
383
|
-
if (!this.focused) {
|
384
|
-
this.focused = true;
|
385
|
-
if (this.options.showHintOnFocus) {
|
386
|
-
this.lookup('');
|
387
|
-
}
|
388
|
-
}
|
389
|
-
},
|
390
|
-
|
391
|
-
blur: function (e) {
|
392
|
-
this.focused = false;
|
393
|
-
if (!this.mousedover && this.shown) this.hide();
|
394
|
-
},
|
395
|
-
|
396
|
-
click: function (e) {
|
397
|
-
e.stopPropagation();
|
398
|
-
e.preventDefault();
|
399
|
-
this.select();
|
400
|
-
this.$element.focus();
|
401
|
-
},
|
402
|
-
|
403
|
-
mouseenter: function (e) {
|
404
|
-
this.mousedover = true;
|
405
|
-
this.$menu.find('.active').removeClass('active');
|
406
|
-
$(e.currentTarget).addClass('active');
|
407
|
-
},
|
408
|
-
|
409
|
-
mouseleave: function (e) {
|
410
|
-
this.mousedover = false;
|
411
|
-
if (!this.focused && this.shown) this.hide();
|
412
|
-
}
|
413
|
-
|
414
|
-
};
|
415
|
-
|
416
|
-
|
417
|
-
/* TYPEAHEAD PLUGIN DEFINITION
|
418
|
-
* =========================== */
|
419
|
-
|
420
|
-
var old = $.fn.typeahead;
|
421
|
-
|
422
|
-
$.fn.typeahead = function (option) {
|
423
|
-
var arg = arguments;
|
424
|
-
if (typeof option == 'string' && option == 'getActive') {
|
425
|
-
return this.data('active');
|
426
|
-
}
|
427
|
-
return this.each(function () {
|
428
|
-
var $this = $(this)
|
429
|
-
, data = $this.data('typeahead')
|
430
|
-
, options = typeof option == 'object' && option;
|
431
|
-
if (!data) $this.data('typeahead', (data = new Typeahead(this, options)));
|
432
|
-
if (typeof option == 'string') {
|
433
|
-
if (arg.length > 1) {
|
434
|
-
data[option].apply(data, Array.prototype.slice.call(arg ,1));
|
435
|
-
} else {
|
436
|
-
data[option]();
|
437
|
-
}
|
438
|
-
}
|
439
|
-
});
|
440
|
-
};
|
441
|
-
|
442
|
-
$.fn.typeahead.defaults = {
|
443
|
-
source: []
|
444
|
-
, items: 8
|
445
|
-
, menu: '<ul class="typeahead dropdown-menu" role="listbox"></ul>'
|
446
|
-
, item: '<li><a href="#" role="option"></a></li>'
|
447
|
-
, minLength: 1
|
448
|
-
, scrollHeight: 0
|
449
|
-
, autoSelect: true
|
450
|
-
, afterSelect: $.noop
|
451
|
-
, addItem: false
|
452
|
-
, delay: 0
|
453
|
-
};
|
454
|
-
|
455
|
-
$.fn.typeahead.Constructor = Typeahead;
|
456
|
-
|
457
|
-
|
458
|
-
/* TYPEAHEAD NO CONFLICT
|
459
|
-
* =================== */
|
460
|
-
|
461
|
-
$.fn.typeahead.noConflict = function () {
|
462
|
-
$.fn.typeahead = old;
|
463
|
-
return this;
|
464
|
-
};
|
465
|
-
|
466
|
-
|
467
|
-
/* TYPEAHEAD DATA-API
|
468
|
-
* ================== */
|
469
|
-
|
470
|
-
$(document).on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) {
|
471
|
-
var $this = $(this);
|
472
|
-
if ($this.data('typeahead')) return;
|
473
|
-
$this.typeahead($this.data());
|
474
|
-
});
|
475
|
-
|
476
|
-
}));
|
1
|
+
/* =============================================================
|
2
|
+
* bootstrap3-typeahead.js v3.1.0
|
3
|
+
* https://github.com/bassjobsen/Bootstrap-3-Typeahead
|
4
|
+
* =============================================================
|
5
|
+
* Original written by @mdo and @fat
|
6
|
+
* =============================================================
|
7
|
+
* Copyright 2014 Bass Jobsen @bassjobsen
|
8
|
+
*
|
9
|
+
* Licensed under the Apache License, Version 2.0 (the 'License');
|
10
|
+
* you may not use this file except in compliance with the License.
|
11
|
+
* You may obtain a copy of the License at
|
12
|
+
*
|
13
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
14
|
+
*
|
15
|
+
* Unless required by applicable law or agreed to in writing, software
|
16
|
+
* distributed under the License is distributed on an 'AS IS' BASIS,
|
17
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
18
|
+
* See the License for the specific language governing permissions and
|
19
|
+
* limitations under the License.
|
20
|
+
* ============================================================ */
|
21
|
+
|
22
|
+
|
23
|
+
(function (root, factory) {
|
24
|
+
|
25
|
+
'use strict';
|
26
|
+
|
27
|
+
// CommonJS module is defined
|
28
|
+
if (typeof module !== 'undefined' && module.exports) {
|
29
|
+
module.exports = factory(require('jquery'));
|
30
|
+
}
|
31
|
+
// AMD module is defined
|
32
|
+
else if (typeof define === 'function' && define.amd) {
|
33
|
+
define(['jquery'], function ($) {
|
34
|
+
return factory ($);
|
35
|
+
});
|
36
|
+
} else {
|
37
|
+
factory(root.jQuery);
|
38
|
+
}
|
39
|
+
|
40
|
+
}(this, function ($) {
|
41
|
+
|
42
|
+
'use strict';
|
43
|
+
// jshint laxcomma: true
|
44
|
+
|
45
|
+
|
46
|
+
/* TYPEAHEAD PUBLIC CLASS DEFINITION
|
47
|
+
* ================================= */
|
48
|
+
|
49
|
+
var Typeahead = function (element, options) {
|
50
|
+
this.$element = $(element);
|
51
|
+
this.options = $.extend({}, $.fn.typeahead.defaults, options);
|
52
|
+
this.matcher = this.options.matcher || this.matcher;
|
53
|
+
this.sorter = this.options.sorter || this.sorter;
|
54
|
+
this.select = this.options.select || this.select;
|
55
|
+
this.autoSelect = typeof this.options.autoSelect == 'boolean' ? this.options.autoSelect : true;
|
56
|
+
this.highlighter = this.options.highlighter || this.highlighter;
|
57
|
+
this.render = this.options.render || this.render;
|
58
|
+
this.updater = this.options.updater || this.updater;
|
59
|
+
this.displayText = this.options.displayText || this.displayText;
|
60
|
+
this.source = this.options.source;
|
61
|
+
this.delay = this.options.delay;
|
62
|
+
this.$menu = $(this.options.menu);
|
63
|
+
this.$appendTo = this.options.appendTo ? $(this.options.appendTo) : null;
|
64
|
+
this.shown = false;
|
65
|
+
this.listen();
|
66
|
+
this.showHintOnFocus = typeof this.options.showHintOnFocus == 'boolean' ? this.options.showHintOnFocus : false;
|
67
|
+
this.afterSelect = this.options.afterSelect;
|
68
|
+
this.addItem = false;
|
69
|
+
};
|
70
|
+
|
71
|
+
Typeahead.prototype = {
|
72
|
+
|
73
|
+
constructor: Typeahead,
|
74
|
+
|
75
|
+
select: function () {
|
76
|
+
var val = this.$menu.find('.active').data('value');
|
77
|
+
this.$element.data('active', val);
|
78
|
+
if(this.autoSelect || val) {
|
79
|
+
var newVal = this.updater(val);
|
80
|
+
this.$element
|
81
|
+
.val(this.displayText(newVal) || newVal)
|
82
|
+
.change();
|
83
|
+
this.afterSelect(newVal);
|
84
|
+
}
|
85
|
+
return this.hide();
|
86
|
+
},
|
87
|
+
|
88
|
+
updater: function (item) {
|
89
|
+
return item;
|
90
|
+
},
|
91
|
+
|
92
|
+
setSource: function (source) {
|
93
|
+
this.source = source;
|
94
|
+
},
|
95
|
+
|
96
|
+
show: function () {
|
97
|
+
var pos = $.extend({}, this.$element.position(), {
|
98
|
+
height: this.$element[0].offsetHeight
|
99
|
+
}), scrollHeight;
|
100
|
+
|
101
|
+
scrollHeight = typeof this.options.scrollHeight == 'function' ?
|
102
|
+
this.options.scrollHeight.call() :
|
103
|
+
this.options.scrollHeight;
|
104
|
+
|
105
|
+
(this.$appendTo ? this.$menu.appendTo(this.$appendTo) : this.$menu.insertAfter(this.$element))
|
106
|
+
.css({
|
107
|
+
top: pos.top + pos.height + scrollHeight
|
108
|
+
, left: pos.left
|
109
|
+
})
|
110
|
+
.show();
|
111
|
+
|
112
|
+
this.shown = true;
|
113
|
+
return this;
|
114
|
+
},
|
115
|
+
|
116
|
+
hide: function () {
|
117
|
+
this.$menu.hide();
|
118
|
+
this.shown = false;
|
119
|
+
return this;
|
120
|
+
},
|
121
|
+
|
122
|
+
lookup: function (query) {
|
123
|
+
var items;
|
124
|
+
if (typeof(query) != 'undefined' && query !== null) {
|
125
|
+
this.query = query;
|
126
|
+
} else {
|
127
|
+
this.query = this.$element.val() || '';
|
128
|
+
}
|
129
|
+
|
130
|
+
if (this.query.length < this.options.minLength) {
|
131
|
+
return this.shown ? this.hide() : this;
|
132
|
+
}
|
133
|
+
|
134
|
+
var worker = $.proxy(function() {
|
135
|
+
|
136
|
+
if($.isFunction(this.source)) this.source(this.query, $.proxy(this.process, this));
|
137
|
+
else if (this.source) {
|
138
|
+
this.process(this.source);
|
139
|
+
}
|
140
|
+
}, this);
|
141
|
+
|
142
|
+
clearTimeout(this.lookupWorker);
|
143
|
+
this.lookupWorker = setTimeout(worker, this.delay);
|
144
|
+
},
|
145
|
+
|
146
|
+
process: function (items) {
|
147
|
+
var that = this;
|
148
|
+
|
149
|
+
items = $.grep(items, function (item) {
|
150
|
+
return that.matcher(item);
|
151
|
+
});
|
152
|
+
|
153
|
+
items = this.sorter(items);
|
154
|
+
|
155
|
+
if (!items.length && !this.options.addItem) {
|
156
|
+
return this.shown ? this.hide() : this;
|
157
|
+
}
|
158
|
+
|
159
|
+
if (items.length > 0) {
|
160
|
+
this.$element.data('active', items[0]);
|
161
|
+
} else {
|
162
|
+
this.$element.data('active', null);
|
163
|
+
}
|
164
|
+
|
165
|
+
// Add item
|
166
|
+
if (this.options.addItem){
|
167
|
+
items.push(this.options.addItem);
|
168
|
+
}
|
169
|
+
|
170
|
+
if (this.options.items == 'all') {
|
171
|
+
return this.render(items).show();
|
172
|
+
} else {
|
173
|
+
return this.render(items.slice(0, this.options.items)).show();
|
174
|
+
}
|
175
|
+
},
|
176
|
+
|
177
|
+
matcher: function (item) {
|
178
|
+
var it = this.displayText(item);
|
179
|
+
return ~it.toLowerCase().indexOf(this.query.toLowerCase());
|
180
|
+
},
|
181
|
+
|
182
|
+
sorter: function (items) {
|
183
|
+
var beginswith = []
|
184
|
+
, caseSensitive = []
|
185
|
+
, caseInsensitive = []
|
186
|
+
, item;
|
187
|
+
|
188
|
+
while ((item = items.shift())) {
|
189
|
+
var it = this.displayText(item);
|
190
|
+
if (!it.toLowerCase().indexOf(this.query.toLowerCase())) beginswith.push(item);
|
191
|
+
else if (~it.indexOf(this.query)) caseSensitive.push(item);
|
192
|
+
else caseInsensitive.push(item);
|
193
|
+
}
|
194
|
+
|
195
|
+
return beginswith.concat(caseSensitive, caseInsensitive);
|
196
|
+
},
|
197
|
+
|
198
|
+
highlighter: function (item) {
|
199
|
+
var html = $('<div></div>');
|
200
|
+
var query = this.query;
|
201
|
+
var i = item.toLowerCase().indexOf(query.toLowerCase());
|
202
|
+
var len, leftPart, middlePart, rightPart, strong;
|
203
|
+
len = query.length;
|
204
|
+
if(len === 0){
|
205
|
+
return html.text(item).html();
|
206
|
+
}
|
207
|
+
while (i > -1) {
|
208
|
+
leftPart = item.substr(0, i);
|
209
|
+
middlePart = item.substr(i, len);
|
210
|
+
rightPart = item.substr(i + len);
|
211
|
+
strong = $('<strong></strong>').text(middlePart);
|
212
|
+
html
|
213
|
+
.append(document.createTextNode(leftPart))
|
214
|
+
.append(strong);
|
215
|
+
item = rightPart;
|
216
|
+
i = item.toLowerCase().indexOf(query.toLowerCase());
|
217
|
+
}
|
218
|
+
return html.append(document.createTextNode(item)).html();
|
219
|
+
},
|
220
|
+
|
221
|
+
render: function (items) {
|
222
|
+
var that = this;
|
223
|
+
var self = this;
|
224
|
+
var activeFound = false;
|
225
|
+
items = $(items).map(function (i, item) {
|
226
|
+
var text = self.displayText(item);
|
227
|
+
i = $(that.options.item).data('value', item);
|
228
|
+
i.find('a').html(that.highlighter(text));
|
229
|
+
if (text == self.$element.val()) {
|
230
|
+
i.addClass('active');
|
231
|
+
self.$element.data('active', item);
|
232
|
+
activeFound = true;
|
233
|
+
}
|
234
|
+
return i[0];
|
235
|
+
});
|
236
|
+
|
237
|
+
if (this.autoSelect && !activeFound) {
|
238
|
+
items.first().addClass('active');
|
239
|
+
this.$element.data('active', items.first().data('value'));
|
240
|
+
}
|
241
|
+
this.$menu.html(items);
|
242
|
+
return this;
|
243
|
+
},
|
244
|
+
|
245
|
+
displayText: function(item) {
|
246
|
+
return item.name || item;
|
247
|
+
},
|
248
|
+
|
249
|
+
next: function (event) {
|
250
|
+
var active = this.$menu.find('.active').removeClass('active')
|
251
|
+
, next = active.next();
|
252
|
+
|
253
|
+
if (!next.length) {
|
254
|
+
next = $(this.$menu.find('li')[0]);
|
255
|
+
}
|
256
|
+
|
257
|
+
next.addClass('active');
|
258
|
+
},
|
259
|
+
|
260
|
+
prev: function (event) {
|
261
|
+
var active = this.$menu.find('.active').removeClass('active')
|
262
|
+
, prev = active.prev();
|
263
|
+
|
264
|
+
if (!prev.length) {
|
265
|
+
prev = this.$menu.find('li').last();
|
266
|
+
}
|
267
|
+
|
268
|
+
prev.addClass('active');
|
269
|
+
},
|
270
|
+
|
271
|
+
listen: function () {
|
272
|
+
this.$element
|
273
|
+
.on('focus', $.proxy(this.focus, this))
|
274
|
+
.on('blur', $.proxy(this.blur, this))
|
275
|
+
.on('keypress', $.proxy(this.keypress, this))
|
276
|
+
.on('keyup', $.proxy(this.keyup, this));
|
277
|
+
|
278
|
+
if (this.eventSupported('keydown')) {
|
279
|
+
this.$element.on('keydown', $.proxy(this.keydown, this));
|
280
|
+
}
|
281
|
+
|
282
|
+
this.$menu
|
283
|
+
.on('click', $.proxy(this.click, this))
|
284
|
+
.on('mouseenter', 'li', $.proxy(this.mouseenter, this))
|
285
|
+
.on('mouseleave', 'li', $.proxy(this.mouseleave, this));
|
286
|
+
},
|
287
|
+
|
288
|
+
destroy : function () {
|
289
|
+
this.$element.data('typeahead',null);
|
290
|
+
this.$element.data('active',null);
|
291
|
+
this.$element
|
292
|
+
.off('focus')
|
293
|
+
.off('blur')
|
294
|
+
.off('keypress')
|
295
|
+
.off('keyup');
|
296
|
+
|
297
|
+
if (this.eventSupported('keydown')) {
|
298
|
+
this.$element.off('keydown');
|
299
|
+
}
|
300
|
+
|
301
|
+
this.$menu.remove();
|
302
|
+
},
|
303
|
+
|
304
|
+
eventSupported: function(eventName) {
|
305
|
+
var isSupported = eventName in this.$element;
|
306
|
+
if (!isSupported) {
|
307
|
+
this.$element.setAttribute(eventName, 'return;');
|
308
|
+
isSupported = typeof this.$element[eventName] === 'function';
|
309
|
+
}
|
310
|
+
return isSupported;
|
311
|
+
},
|
312
|
+
|
313
|
+
move: function (e) {
|
314
|
+
if (!this.shown) return;
|
315
|
+
|
316
|
+
switch(e.keyCode) {
|
317
|
+
case 9: // tab
|
318
|
+
case 13: // enter
|
319
|
+
case 27: // escape
|
320
|
+
e.preventDefault();
|
321
|
+
break;
|
322
|
+
|
323
|
+
case 38: // up arrow
|
324
|
+
// with the shiftKey (this is actually the left parenthesis)
|
325
|
+
if (e.shiftKey) return;
|
326
|
+
e.preventDefault();
|
327
|
+
this.prev();
|
328
|
+
break;
|
329
|
+
|
330
|
+
case 40: // down arrow
|
331
|
+
// with the shiftKey (this is actually the right parenthesis)
|
332
|
+
if (e.shiftKey) return;
|
333
|
+
e.preventDefault();
|
334
|
+
this.next();
|
335
|
+
break;
|
336
|
+
}
|
337
|
+
|
338
|
+
e.stopPropagation();
|
339
|
+
},
|
340
|
+
|
341
|
+
keydown: function (e) {
|
342
|
+
this.suppressKeyPressRepeat = ~$.inArray(e.keyCode, [40,38,9,13,27]);
|
343
|
+
if (!this.shown && e.keyCode == 40) {
|
344
|
+
this.lookup();
|
345
|
+
} else {
|
346
|
+
this.move(e);
|
347
|
+
}
|
348
|
+
},
|
349
|
+
|
350
|
+
keypress: function (e) {
|
351
|
+
if (this.suppressKeyPressRepeat) return;
|
352
|
+
this.move(e);
|
353
|
+
},
|
354
|
+
|
355
|
+
keyup: function (e) {
|
356
|
+
switch(e.keyCode) {
|
357
|
+
case 40: // down arrow
|
358
|
+
case 38: // up arrow
|
359
|
+
case 16: // shift
|
360
|
+
case 17: // ctrl
|
361
|
+
case 18: // alt
|
362
|
+
break;
|
363
|
+
|
364
|
+
case 9: // tab
|
365
|
+
case 13: // enter
|
366
|
+
if (!this.shown) return;
|
367
|
+
this.select();
|
368
|
+
break;
|
369
|
+
|
370
|
+
case 27: // escape
|
371
|
+
if (!this.shown) return;
|
372
|
+
this.hide();
|
373
|
+
break;
|
374
|
+
default:
|
375
|
+
this.lookup();
|
376
|
+
}
|
377
|
+
|
378
|
+
e.stopPropagation();
|
379
|
+
e.preventDefault();
|
380
|
+
},
|
381
|
+
|
382
|
+
focus: function (e) {
|
383
|
+
if (!this.focused) {
|
384
|
+
this.focused = true;
|
385
|
+
if (this.options.showHintOnFocus) {
|
386
|
+
this.lookup('');
|
387
|
+
}
|
388
|
+
}
|
389
|
+
},
|
390
|
+
|
391
|
+
blur: function (e) {
|
392
|
+
this.focused = false;
|
393
|
+
if (!this.mousedover && this.shown) this.hide();
|
394
|
+
},
|
395
|
+
|
396
|
+
click: function (e) {
|
397
|
+
e.stopPropagation();
|
398
|
+
e.preventDefault();
|
399
|
+
this.select();
|
400
|
+
this.$element.focus();
|
401
|
+
},
|
402
|
+
|
403
|
+
mouseenter: function (e) {
|
404
|
+
this.mousedover = true;
|
405
|
+
this.$menu.find('.active').removeClass('active');
|
406
|
+
$(e.currentTarget).addClass('active');
|
407
|
+
},
|
408
|
+
|
409
|
+
mouseleave: function (e) {
|
410
|
+
this.mousedover = false;
|
411
|
+
if (!this.focused && this.shown) this.hide();
|
412
|
+
}
|
413
|
+
|
414
|
+
};
|
415
|
+
|
416
|
+
|
417
|
+
/* TYPEAHEAD PLUGIN DEFINITION
|
418
|
+
* =========================== */
|
419
|
+
|
420
|
+
var old = $.fn.typeahead;
|
421
|
+
|
422
|
+
$.fn.typeahead = function (option) {
|
423
|
+
var arg = arguments;
|
424
|
+
if (typeof option == 'string' && option == 'getActive') {
|
425
|
+
return this.data('active');
|
426
|
+
}
|
427
|
+
return this.each(function () {
|
428
|
+
var $this = $(this)
|
429
|
+
, data = $this.data('typeahead')
|
430
|
+
, options = typeof option == 'object' && option;
|
431
|
+
if (!data) $this.data('typeahead', (data = new Typeahead(this, options)));
|
432
|
+
if (typeof option == 'string') {
|
433
|
+
if (arg.length > 1) {
|
434
|
+
data[option].apply(data, Array.prototype.slice.call(arg ,1));
|
435
|
+
} else {
|
436
|
+
data[option]();
|
437
|
+
}
|
438
|
+
}
|
439
|
+
});
|
440
|
+
};
|
441
|
+
|
442
|
+
$.fn.typeahead.defaults = {
|
443
|
+
source: []
|
444
|
+
, items: 8
|
445
|
+
, menu: '<ul class="typeahead dropdown-menu" role="listbox"></ul>'
|
446
|
+
, item: '<li><a href="#" role="option"></a></li>'
|
447
|
+
, minLength: 1
|
448
|
+
, scrollHeight: 0
|
449
|
+
, autoSelect: true
|
450
|
+
, afterSelect: $.noop
|
451
|
+
, addItem: false
|
452
|
+
, delay: 0
|
453
|
+
};
|
454
|
+
|
455
|
+
$.fn.typeahead.Constructor = Typeahead;
|
456
|
+
|
457
|
+
|
458
|
+
/* TYPEAHEAD NO CONFLICT
|
459
|
+
* =================== */
|
460
|
+
|
461
|
+
$.fn.typeahead.noConflict = function () {
|
462
|
+
$.fn.typeahead = old;
|
463
|
+
return this;
|
464
|
+
};
|
465
|
+
|
466
|
+
|
467
|
+
/* TYPEAHEAD DATA-API
|
468
|
+
* ================== */
|
469
|
+
|
470
|
+
$(document).on('focus.typeahead.data-api', '[data-provide="typeahead"]', function (e) {
|
471
|
+
var $this = $(this);
|
472
|
+
if ($this.data('typeahead')) return;
|
473
|
+
$this.typeahead($this.data());
|
474
|
+
});
|
475
|
+
|
476
|
+
}));
|