{"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":""}
|