UNPKG

1.8 kBJavaScriptView Raw
1/**
2 * The {@link http://learn.jquery.com/plugins/|jQuery Plugins} namespace
3 * @external "jQuery.fn"
4 */
5
6/**
7 * Instanciates or accesses the {@link QueryBuilder} on an element
8 * @function
9 * @memberof external:"jQuery.fn"
10 * @param {*} option - initial configuration or method name
11 * @param {...*} args - method arguments
12 *
13 * @example
14 * $('#builder').queryBuilder({ /** configuration object *\/ });
15 * @example
16 * $('#builder').queryBuilder('methodName', methodParam1, methodParam2);
17 */
18$.fn.queryBuilder = function(option) {
19 if (this.length === 0) {
20 Utils.error('Config', 'No target defined');
21 }
22 if (this.length > 1) {
23 Utils.error('Config', 'Unable to initialize on multiple target');
24 }
25
26 var data = this.data('queryBuilder');
27 var options = (typeof option == 'object' && option) || {};
28
29 if (!data && option == 'destroy') {
30 return this;
31 }
32 if (!data) {
33 this.data('queryBuilder', new QueryBuilder(this, options));
34 }
35 if (typeof option == 'string') {
36 return data[option].apply(data, Array.prototype.slice.call(arguments, 1));
37 }
38
39 return this;
40};
41
42/**
43 * @function
44 * @memberof external:"jQuery.fn"
45 * @see QueryBuilder
46 */
47$.fn.queryBuilder.constructor = QueryBuilder;
48
49/**
50 * @function
51 * @memberof external:"jQuery.fn"
52 * @see QueryBuilder.defaults
53 */
54$.fn.queryBuilder.defaults = QueryBuilder.defaults;
55
56/**
57 * @function
58 * @memberof external:"jQuery.fn"
59 * @see QueryBuilder.defaults
60 */
61$.fn.queryBuilder.extend = QueryBuilder.extend;
62
63/**
64 * @function
65 * @memberof external:"jQuery.fn"
66 * @see QueryBuilder.define
67 */
68$.fn.queryBuilder.define = QueryBuilder.define;
69
70/**
71 * @function
72 * @memberof external:"jQuery.fn"
73 * @see QueryBuilder.regional
74 */
75$.fn.queryBuilder.regional = QueryBuilder.regional;