UNPKG

vue-softpro-ui

Version:

Основні компоненти вью

188 lines (155 loc) 8.54 kB
((typeof self !== 'undefined' ? self : this)["webpackChunkvue_core"] = (typeof self !== 'undefined' ? self : this)["webpackChunkvue_core"] || []).push([[800],{ /***/ 4800: /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) { "use strict"; // ESM COMPAT FLAG __webpack_require__.r(__webpack_exports__); // EXPORTS __webpack_require__.d(__webpack_exports__, { "default": function() { return /* binding */ vs_form_datatable_input; } }); ;// CONCATENATED MODULE: ./node_modules/@vue/vue-loader-v15/lib/loaders/templateLoader.js??ruleSet[1].rules[2]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/form/datatable/vs-form-datatable-input.vue?vue&type=template&id=7a815aec&scoped=true&lang=true var render = function render(){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:"table-wrapper flex gap-2"},[_c('input',{ref:"filePicker",staticClass:"hidden",attrs:{"accept":".geojson","type":"file"},on:{"change":_vm.importTable}}),_c('VsButton',{attrs:{"size":"mini"},on:{"click":function($event){return _vm.$refs.filePicker.click()}}},[_c('i',{staticClass:"ti ti-download"})]),_c('VsPopover',{attrs:{"width":"250"}},[_c('div',[_c('h3',{staticClass:"mb-2"},[_vm._v(" "+_vm._s("Оберіть спосіб завантаження")+" ")]),_c('VsButton',{attrs:{"size":"mini","type":"primary"},on:{"click":function($event){_vm.importVisible = false; _vm.exportTable(_vm.value, 'test');}}},[_vm._v(" "+_vm._s("Як JSON")+" ")]),_c('VsButton',{attrs:{"size":"mini"},on:{"click":function($event){_vm.importVisible = false; _vm.saveYaml(_vm.value, 'gis-editor');}}},[_vm._v(" "+_vm._s("Як YAML")+" ")])],1),_c('VsButton',{attrs:{"slot":"reference","size":"mini"},slot:"reference"},[_c('i',{staticClass:"ti ti-upload"})])],1)],1) } var staticRenderFns = [] ;// CONCATENATED MODULE: ./src/components/form/datatable/tableMixins.js /* harmony default export */ var tableMixins = ({ data() { return { files: [], fileResult: [], importType: null, exportVisible: false, importVisible: false, }; }, async mounted() { await window.head.promise(['https://cdnjs.cloudflare.com/ajax/libs/yamljs/0.3.0/yaml.min.js']); }, watch: { importType() { if (this.importType === 'replace') { this.value = this.fileResult; } else if (this.importType === 'append') { this.value = this.value.concat(...this.fileResult); } this.$emit('update:value', this.value); this.importType = null; }, }, methods: { async importTable($event) { this.files = $event.target.files; const fileReader = new FileReader(); fileReader.readAsText($event.target.files[0]); fileReader.onload = () => { this.fileResult = JSON.parse(fileReader.result); this.exportVisible = true; }; fileReader.onerror = () => { this.$message.error('Ой, щось пішло не так, файл не додано'); }; $event.target.value = ''; }, exportTable(body, name) { if (body.length) { const fileName = `${name}-${Date.now()}.geojson`; this.anchorDownload(JSON.stringify(body), fileName); } else { this.$message.error('Таблиця пуста!'); } }, anchorDownload(fileData, fileName) { const a = document.createElement('a'); document.body.appendChild(a); const file = new File([fileData], fileName); const url = window.URL.createObjectURL(file); a.href = url; a.download = fileName; a.click(); window.URL.revokeObjectURL(url); a.remove(); }, saveYaml(body, fileName) { if (body.length) { this.anchorDownload(window.YAML.stringify(body), `${fileName}.yml`); } else { this.$message.error('Таблиця пуста!'); } }, }, }); ;// CONCATENATED MODULE: ./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/form/datatable/vs-form-datatable-input.vue?vue&type=script&lang=js /* harmony default export */ var vs_form_datatable_inputvue_type_script_lang_js = ({ components: { VsButton: () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 2409)), VsPopover: () => Promise.resolve(/* import() */).then(__webpack_require__.bind(__webpack_require__, 6805)), }, mixins: [tableMixins], props: { value: { type: Object, default() { return {}; }, }, input: { type: Object, default() { return {}; }, }, }, }); ;// CONCATENATED MODULE: ./src/components/form/datatable/vs-form-datatable-input.vue?vue&type=script&lang=js /* harmony default export */ var datatable_vs_form_datatable_inputvue_type_script_lang_js = (vs_form_datatable_inputvue_type_script_lang_js); // EXTERNAL MODULE: ./node_modules/vue-style-loader/index.js??clonedRuleSet-22.use[0]!./node_modules/css-loader/dist/cjs.js??clonedRuleSet-22.use[1]!./node_modules/@vue/vue-loader-v15/lib/loaders/stylePostLoader.js!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[2]!./node_modules/postcss-loader/dist/cjs.js??clonedRuleSet-22.use[3]!./node_modules/sass-loader/dist/cjs.js??clonedRuleSet-22.use[4]!./node_modules/@vue/vue-loader-v15/lib/index.js??vue-loader-options!./src/components/form/datatable/vs-form-datatable-input.vue?vue&type=style&index=0&id=7a815aec&prod&lang=scss&scoped=true var vs_form_datatable_inputvue_type_style_index_0_id_7a815aec_prod_lang_scss_scoped_true = __webpack_require__(2132); ;// CONCATENATED MODULE: ./src/components/form/datatable/vs-form-datatable-input.vue?vue&type=style&index=0&id=7a815aec&prod&lang=scss&scoped=true // EXTERNAL MODULE: ./node_modules/@vue/vue-loader-v15/lib/runtime/componentNormalizer.js var componentNormalizer = __webpack_require__(1001); ;// CONCATENATED MODULE: ./src/components/form/datatable/vs-form-datatable-input.vue ; /* normalize component */ var component = (0,componentNormalizer/* default */.Z)( datatable_vs_form_datatable_inputvue_type_script_lang_js, render, staticRenderFns, false, null, "7a815aec", null ) /* harmony default export */ var vs_form_datatable_input = (component.exports); /***/ }), /***/ 3361: /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; __webpack_require__.r(__webpack_exports__); /* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(8081); /* harmony import */ var _node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0__); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(3645); /* harmony import */ var _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1__); // Imports var ___CSS_LOADER_EXPORT___ = _node_modules_css_loader_dist_runtime_api_js__WEBPACK_IMPORTED_MODULE_1___default()((_node_modules_css_loader_dist_runtime_noSourceMaps_js__WEBPACK_IMPORTED_MODULE_0___default())); // Module ___CSS_LOADER_EXPORT___.push([module.id, ".table-wrapper[data-v-7a815aec]{justify-content:flex-end}.el-upload__input[data-v-7a815aec]{display:none!important}.import-button[data-v-7a815aec]{margin-right:5px}.import-button.ghost[data-v-7a815aec]{margin-right:-30px;pointer-events:none;opacity:0}", ""]); // Exports /* harmony default export */ __webpack_exports__["default"] = (___CSS_LOADER_EXPORT___); /***/ }), /***/ 2132: /***/ (function(module, __unused_webpack_exports, __webpack_require__) { // style-loader: Adds some css to the DOM by adding a <style> tag // load the styles var content = __webpack_require__(3361); if(content.__esModule) content = content.default; if(typeof content === 'string') content = [[module.id, content, '']]; if(content.locals) module.exports = content.locals; // add the styles to the DOM var add = (__webpack_require__(4402)/* ["default"] */ .Z) var update = add("3048ce04", content, true, {"sourceMap":false,"shadowMode":false}); /***/ }) }]); //# sourceMappingURL=softpro-ui-kit.common.800.js.map