| {"version":3,"file":"js/atk-vue-item-search.js","mappings":"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","sources":["webpack://atk/./src/vue-components/item-search.component.js"],"sourcesContent":["import $ from 'external/jquery';\nimport atk from 'atk';\n\n/**\n * Will allow user to send data query request to server.\n * Request should filter the data and reload the data view.\n * The request is send using Fomantic-UI api.\n *\n * Properties need for this component are:\n *\n * context: string, a jQuery selector where the 'loading' class will be apply by Fomantic-UI - default to this component.\n * url:     string, the URL to call.\n * q:       string, the initial string for the query. Useful if this search is part of the relaod.\n * reload:  string, an Id selector for jQuery, '#' is append automatically.\n */\n\nconst template = `<div class=\"atk-item-search\" :class=\"inputCss\">\n      <input class=\"ui\"\n        v-model=\"query\"\n        type=\"text\" placeholder=\"Search...\"\n        @keyup=\"onKeyup\"\n        @keyup.esc=\"onEscape\"\n        name=\"atk-vue-search\" />\n        <i class=\"atk-search-icon\" :class=\"classIcon\"></i><span style=\"width: 12px; cursor: pointer;\" @click=\"onClear\"></span>\n    </div>\n`;\n\nexport default {\n    name: 'atk-item-search',\n    template: template,\n    props: {\n        context: String,\n        url: String,\n        q: String,\n        reload: String,\n        queryArg: String,\n        options: Object,\n    },\n    data: function () {\n        return {\n            query: this.q,\n            temp: this.q,\n            isActive: false,\n            extraQuery: null,\n            inputCss: this.options.inputCss,\n        };\n    },\n    computed: {\n        classIcon: function () {\n            return {\n                'search icon': (this.query === null || this.query === ''),\n                'remove icon': this.query !== null,\n            };\n        },\n    },\n    methods: {\n        onKeyup: function () {\n            if (!this.onKeyup.debouncedFx) {\n                this.onKeyup.debouncedFx = atk.createDebouncedFx((e) => {\n                    this.onKeyup.debouncedFx = null;\n                    if (this.query !== this.temp) {\n                        if (this.query === '') {\n                            this.query = null;\n                        }\n                        this.sendQuery();\n                        this.temp = this.query;\n                    }\n                }, this.options.inputTimeOut);\n            }\n            this.onKeyup.debouncedFx.call(this);\n        },\n        onEscape: function () {\n            if (this.query !== null) {\n                this.query = null;\n                this.temp = null;\n                this.sendQuery();\n            }\n        },\n        onEnter: function () {\n            if (this.query !== null) {\n                this.query = null;\n                this.temp = null;\n                this.sendQuery();\n            }\n        },\n        onClear: function () {\n            if (this.query) {\n                this.query = null;\n                this.temp = null;\n                this.sendQuery();\n            }\n        },\n        sendQuery: function () {\n            const that = this;\n            const options = $.extend({}, this.extraQuery, { __atk_reload: this.reload, [this.queryArg]: this.query });\n            const $reload = $('#' + this.reload);\n            this.isActive = true;\n            $reload.api({\n                on: 'now',\n                url: this.url,\n                data: options,\n                method: 'GET',\n                stateContext: (this.context) ? $(this.context) : $(this.$el),\n                onComplete: function (e, r) {\n                    that.isActive = false;\n                },\n            });\n        },\n    },\n};\n"],"names":["$","atk","template","name","props","context","String","url","q","reload","queryArg","options","Object","data","query","temp","isActive","extraQuery","inputCss","computed","classIcon","methods","onKeyup","debouncedFx","createDebouncedFx","e","sendQuery","inputTimeOut","call","onEscape","onEnter","onClear","that","extend","__atk_reload","$reload","api","on","method","stateContext","$el","onComplete","r"],"sourceRoot":""}
 |