Solved

Jquery Typeahead - where is the source set?

Posted on 2016-11-13
1
55 Views
Last Modified: 2016-11-17
Hello all, using Jquery and Typehead but can anyone see where the data source (JSON) is being set on this page?

http://keenthemes.com/preview/metronic/theme/admin_2/components_typeahead.html


Thanks,
0
Comment
Question by:Stephen Forlance
1 Comment
 
LVL 82

Accepted Solution

by:
leakim971 earned 500 total points
ID: 41885236
in this file : http://keenthemes.com/preview/metronic/theme/assets/pages/scripts/components-typeahead.min.js
line 32 and 130 for countries, do a search for .json for other source :

var ComponentsTypeahead = function() {
    var e = function() {
            var e = new Bloodhound({
                datumTokenizer: function(e) {
                    return Bloodhound.tokenizers.whitespace(e.num)
                },
                queryTokenizer: Bloodhound.tokenizers.whitespace,
                local: [{
                    num: "metronic"
                }, {
                    num: "keenthemes"
                }, {
                    num: "metronic theme"
                }, {
                    num: "metronic template"
                }, {
                    num: "keenthemes team"
                }]
            });
            e.initialize(), App.isRTL() && $("#typeahead_example_1").attr("dir", "rtl"), $("#typeahead_example_1").typeahead(null, {
                displayKey: "num",
                hint: !App.isRTL(),
                source: e.ttAdapter()
            });
            var t = new Bloodhound({
                datumTokenizer: function(e) {
                    return Bloodhound.tokenizers.whitespace(e.name)
                },
                queryTokenizer: Bloodhound.tokenizers.whitespace,
                limit: 10,
                prefetch: {
                    url: "../demo/typeahead_countries.json",
                    filter: function(e) {
                        return $.map(e, function(e) {
                            return {
                                name: e
                            }
                        })
                    }
                }
            });
            t.initialize(), App.isRTL() && $("#typeahead_example_2").attr("dir", "rtl"), $("#typeahead_example_2").typeahead(null, {
                name: "typeahead_example_2",
                displayKey: "name",
                hint: !App.isRTL(),
                source: t.ttAdapter()
            });
            var a = new Bloodhound({
                datumTokenizer: function(e) {
                    return e.tokens
                },
                queryTokenizer: Bloodhound.tokenizers.whitespace,
                remote: {
                    url: "../demo/typeahead_custom.php?query=%QUERY",
                    wildcard: "%QUERY"
                }
            });
            a.initialize(), App.isRTL() && $("#typeahead_example_3").attr("dir", "rtl"), $("#typeahead_example_3").typeahead(null, {
                name: "datypeahead_example_3",
                displayKey: "value",
                source: a.ttAdapter(),
                hint: !App.isRTL(),
                templates: {
                    suggestion: Handlebars.compile(['<div class="media">', '<div class="pull-left">', '<div class="media-object">', '<img src="{{img}}" width="50" height="50"/>', "</div>", "</div>", '<div class="media-body">', '<h4 class="media-heading">{{value}}</h4>', "<p>{{desc}}</p>", "</div>", "</div>"].join(""))
                }
            });
            var n = new Bloodhound({
                    datumTokenizer: function(e) {
                        return Bloodhound.tokenizers.whitespace(e.team)
                    },
                    queryTokenizer: Bloodhound.tokenizers.whitespace,
                    prefetch: "../demo/typeahead_nba.json"
                }),
                i = new Bloodhound({
                    datumTokenizer: function(e) {
                        return Bloodhound.tokenizers.whitespace(e.team)
                    },
                    queryTokenizer: Bloodhound.tokenizers.whitespace,
                    prefetch: "../demo/typeahead_nhl.json"
                });
            n.initialize(), i.initialize(), App.isRTL() && $("#typeahead_example_4").attr("dir", "rtl"), $("#typeahead_example_4").typeahead({
                hint: !App.isRTL(),
                highlight: !0
            }, {
                name: "nba",
                displayKey: "team",
                source: n.ttAdapter(),
                templates: {
                    header: "<h3>NBA Teams</h3>"
                }
            }, {
                name: "nhl",
                displayKey: "team",
                source: i.ttAdapter(),
                templates: {
                    header: "<h3>NHL Teams</h3>"
                }
            })
        },
        t = function() {
            var e = new Bloodhound({
                datumTokenizer: function(e) {
                    return Bloodhound.tokenizers.whitespace(e.num)
                },
                queryTokenizer: Bloodhound.tokenizers.whitespace,
                local: [{
                    num: "metronic"
                }, {
                    num: "keenthemes"
                }, {
                    num: "metronic theme"
                }, {
                    num: "metronic template"
                }, {
                    num: "keenthemes team"
                }]
            });
            e.initialize(), App.isRTL() && $("#typeahead_example_modal_1").attr("dir", "rtl"), $("#typeahead_example_modal_1").typeahead(null, {
                displayKey: "num",
                hint: !App.isRTL(),
                source: e.ttAdapter()
            });
            var t = new Bloodhound({
                datumTokenizer: function(e) {
                    return Bloodhound.tokenizers.whitespace(e.name)
                },
                queryTokenizer: Bloodhound.tokenizers.whitespace,
                limit: 10,
                prefetch: {
                    url: "../demo/typeahead_countries.json",
                    filter: function(e) {
                        return $.map(e, function(e) {
                            return {
                                name: e
                            }
                        })
                    }
                }
            });
            t.initialize(), App.isRTL() && $("#typeahead_example_modal_2").attr("dir", "rtl"), $("#typeahead_example_modal_2").typeahead(null, {
                name: "typeahead_example_modal_2",
                displayKey: "name",
                hint: !App.isRTL(),
                source: t.ttAdapter()
            });
            var a = new Bloodhound({
                datumTokenizer: function(e) {
                    return e.tokens
                },
                queryTokenizer: Bloodhound.tokenizers.whitespace,
                remote: "../demo/typeahead_custom.php?query=%QUERY"
            });
            a.initialize(), App.isRTL() && $("#typeahead_example_modal_3").attr("dir", "rtl"), $("#typeahead_example_modal_3").typeahead(null, {
                name: "datypeahead_example_modal_3",
                displayKey: "value",
                hint: !App.isRTL(),
                source: a.ttAdapter(),
                templates: {
                    suggestion: Handlebars.compile(['<div class="media">', '<div class="pull-left">', '<div class="media-object">', '<img src="{{img}}" width="50" height="50"/>', "</div>", "</div>", '<div class="media-body">', '<h4 class="media-heading">{{value}}</h4>', "<p>{{desc}}</p>", "</div>", "</div>"].join(""))
                }
            });
            var n = new Bloodhound({
                    datumTokenizer: function(e) {
                        return Bloodhound.tokenizers.whitespace(e.team)
                    },
                    queryTokenizer: Bloodhound.tokenizers.whitespace,
                    limit: 3,
                    prefetch: "../demo/typeahead_nba.json"
                }),
                i = new Bloodhound({
                    datumTokenizer: function(e) {
                        return Bloodhound.tokenizers.whitespace(e.team)
                    },
                    queryTokenizer: Bloodhound.tokenizers.whitespace,
                    limit: 3,
                    prefetch: "../demo/typeahead_nhl.json"
                });
            n.initialize(), i.initialize(), $("#typeahead_example_modal_4").typeahead({
                hint: !App.isRTL(),
                highlight: !0
            }, {
                name: "nba",
                displayKey: "team",
                source: n.ttAdapter(),
                templates: {
                    header: "<h3>NBA Teams</h3>"
                }
            }, {
                name: "nhl",
                displayKey: "team",
                source: i.ttAdapter(),
                templates: {
                    header: "<h3>NHL Teams</h3>"
                }
            })
        };
    return {
        init: function() {
            e(), t()
        }
    }
}();
jQuery(document).ready(function() {
    ComponentsTypeahead.init()
});

Open in new window

0

Featured Post

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
How to resize a div in html 3 35
ajax to record click 3 16
asp.net open new page without popup blocker 8 18
On Load function does not trigger on iPhone 4 30
Introduction Knockoutjs (Knockout) is a JavaScript framework (Model View ViewModel or MVVM framework).   The main ideology behind Knockout is to control from JavaScript how a page looks whilst creating an engaging user experience in the least …
Today, the web development industry is booming, and many people consider it to be their vocation. The question you may be asking yourself is – how do I become a web developer?
The viewer will learn how to dynamically set the form action using jQuery.
The viewer will learn the basics of jQuery, including how to invoke it on a web page. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery.: (CODE)

809 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question