PHP Classes

File: resources/assets/js/atk-vue-tree-item-selector.min.js.map

Recommend this page to a friend!
  Classes of Francesco Danti   ATK Wordpress Plugin   resources/assets/js/atk-vue-tree-item-selector.min.js.map   Download  
File: resources/assets/js/atk-vue-tree-item-selector.min.js.map
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: ATK Wordpress Plugin
Components to build WordPress plugins
Author: By
Last change:
Date: 1 month ago
Size: 14,167 bytes
 

Contents

Class file image Download
{"version":3,"file":"js/atk-vue-tree-item-selector.min.js","mappings":"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","sources":["webpack://atk/./src/vue-components/tree-item-selector/tree-item-selector.component.js"],"sourcesContent":["import $ from 'external/jquery';\n\nconst template = `<div class=\"item\" :style=\"itemMargin\">\n <i :class=\"toggleIcon\" @click=\"onToggleShow\" v-show=\"!isRoot\"></i>\n <i :class=\"getIcon\" @click=\"onToggleSelect\" v-show=\"!isRoot\"></i>\n <div class=\"content\" >\n <div @click=\"onToggleSelect\" :style=\"itemCursor\">{{title}}</div>\n <div class=\"list\" v-show=\"open || isRoot\" v-if=\"isParent\" >\n <atk-tree-item-selector v-for=\"(item, index) in item.nodes\" :key=\"item.id\" :item=\"item\" :values=\"values\">\n </atk-tree-item-selector>\n </div>\n </div>\n </div>`;\n\nexport default {\n template: template,\n props: { item: Object, values: Array },\n inject: ['getRootData'],\n name: 'atk-tree-item-selector',\n data: function () {\n return {\n open: false,\n isRoot: this.item.id === 'atk-root',\n isInitialized: false,\n id: this.item.id,\n nodes: this.item.nodes,\n icons: {\n single: {\n on: 'circle',\n off: 'circle outline',\n indeterminate: 'dot circle outline',\n },\n multiple: {\n on: 'check square outline',\n off: 'square outline',\n indeterminate: 'minus square outline',\n },\n },\n };\n },\n created: function () {\n this.getInitData();\n },\n mounted: function () {\n },\n computed: {\n itemMargin: function () {\n return { marginLeft: (this.item.nodes && this.item.nodes.length > 0) ? this.open ? '-13px' : '-10px' : null };\n },\n itemCursor: function () {\n return { cursor: this.isParent ? this.getRootData().options.mode === 'single' ? 'default' : 'pointer' : 'pointer' };\n },\n title: function () {\n return this.item.name;\n },\n isParent: function () {\n return (this.nodes && this.nodes.length > 0);\n },\n toggleIcon: function () {\n return this.isParent ? (this.open ? 'caret down' : 'caret right') + ' icon' : null;\n },\n state: function () {\n let state = 'off';\n if (this.isParent) {\n state = this.hasAllFill(this.nodes) ? 'on' : this.hasSomeFill(this.nodes) ? 'indeterminate' : 'off';\n } else if (this.isSelected(this.id)) {\n state = 'on';\n }\n\n return state;\n },\n getIcon: function () {\n return this.icons[this.getRootData().options.mode][this.state] + ' icon';\n },\n },\n methods: {\n isSelected: function (id) {\n return this.values.filter((val) => val === id).length > 0;\n },\n /**\n * Get input initial data.\n */\n getInitData: function () {\n // check if input containing data is set and initialized.\n if (!this.getRootData().item.isInitialized) {\n this.getRootData().values = this.getValues();\n this.getRootData().item.isInitialized = true;\n }\n },\n getValues: function () {\n const initValues = JSON.parse(this.getInputElement().value);\n let values = [];\n if (Array.isArray(initValues)) {\n values = initValues;\n } else {\n values.push(initValues);\n }\n\n return values;\n },\n /**\n * Check if all children nodes are on.\n *\n * @returns {boolean}\n */\n hasAllFill: function (nodes) {\n let state = true;\n for (let i = 0; i < nodes.length; i++) {\n // check children first;\n if (nodes[i].nodes && nodes[i].nodes.length > 0) {\n if (!this.hasAllFill(nodes[i].nodes)) {\n state = false;\n\n break;\n }\n } else if (this.values.findIndex((id) => id === nodes[i].id) === -1) {\n state = false;\n\n break;\n }\n }\n\n return state;\n },\n /**\n * Check if some children nodes are on.\n *\n * @returns {boolean}\n */\n hasSomeFill: function (nodes) {\n let state = false;\n for (let i = 0; i < nodes.length; i++) {\n // check children first;\n if (nodes[i].nodes && nodes[i].nodes.length > 0) {\n if (this.hasSomeFill(nodes[i].nodes)) {\n state = true;\n\n break;\n }\n }\n if (this.values.findIndex((id) => id === nodes[i].id) > -1) {\n state = true;\n\n break;\n }\n }\n\n return state;\n },\n /**\n * Fire when arrow are click in order to show or hide children.\n */\n onToggleShow: function () {\n if (this.isParent) {\n this.open = !this.open;\n }\n },\n /**\n * Fire when checkbox is click.\n */\n onToggleSelect: function () {\n const { options } = this.getRootData();\n switch (options.mode) {\n case 'single':\n this.handleSingleSelect();\n\n break;\n case 'multiple':\n this.handleMultipleSelect();\n\n break;\n }\n },\n /**\n * Merge array and remove duplicate.\n *\n * @returns {*[]}\n */\n mergeArrays: function (...arrays) {\n let jointArray = [];\n\n arrays.forEach((array) => {\n jointArray = [...jointArray, ...array];\n });\n\n return [...new Set([...jointArray])];\n },\n /**\n * Get all id from all chidren node.\n *\n * @returns {Array.<string>}\n */\n collectAllChildren: function (nodes, ids = []) {\n nodes.forEach((node) => {\n if (node.nodes && node.nodes.length > 0) {\n ids.concat(this.collectAllChildren(node.nodes, ids));\n } else {\n ids.push(node.id);\n }\n });\n\n return ids;\n },\n remove: function (values, value) {\n return values.filter((val) => val !== value);\n },\n /**\n * Handle a selection when in single mode.\n */\n handleSingleSelect: function () {\n if (this.state === 'off' && !this.isParent) {\n this.getRootData().values = [this.item.id];\n this.setInput(this.item.id);\n if (this.getRootData().options.url) {\n this.postValue();\n }\n }\n if (this.isParent) {\n this.open = !this.open;\n }\n },\n /**\n * Handle a selection when in multiple mode.\n */\n handleMultipleSelect: function () {\n let values;\n if (this.isParent) {\n // collect all children value\n const childValues = this.collectAllChildren(this.nodes);\n if (this.state === 'off' || this.state === 'indeterminate') {\n values = this.mergeArrays(this.values, childValues);\n } else {\n let temp = this.values;\n childValues.forEach((value) => {\n temp = this.remove(temp, value);\n });\n values = temp;\n }\n } else if (this.state === 'on') {\n values = this.remove(this.values, this.item.id);\n } else if (this.state === 'off') {\n values = this.values;\n values.push(this.item.id);\n }\n\n this.getRootData().values = [...values];\n this.setInput(JSON.stringify(values));\n\n if (this.getRootData().options.url) {\n this.postValue();\n }\n },\n /**\n * Set input field with current mapped model value.\n */\n setInput: function (value) {\n // console.log('set input');\n this.getInputElement().value = value;\n },\n /**\n * Get input element set for this Item Selector.\n *\n * @returns {HTMLElement}\n */\n getInputElement: function () {\n return document.getElementsByName(this.getRootData().field)[0];\n },\n /**\n * Send data using callback url.\n */\n postValue: function () {\n $(this.$el).parents('.' + this.getRootData().options.loader).api({\n on: 'now',\n url: this.getRootData().options.url,\n method: 'POST',\n data: { data: JSON.stringify(this.getRootData().values) },\n });\n },\n },\n};\n"],"names":["template","props","item","Object","values","Array","inject","name","data","open","isRoot","this","id","isInitialized","nodes","icons","single","on","off","indeterminate","multiple","created","getInitData","mounted","computed","itemMargin","marginLeft","length","itemCursor","cursor","isParent","getRootData","options","mode","title","toggleIcon","state","hasAllFill","hasSomeFill","isSelected","getIcon","methods","filter","val","getValues","initValues","JSON","parse","getInputElement","value","isArray","push","i","findIndex","onToggleShow","onToggleSelect","handleSingleSelect","handleMultipleSelect","mergeArrays","jointArray","arrays","forEach","array","Set","collectAllChildren","ids","node","concat","remove","setInput","url","postValue","childValues","temp","stringify","document","getElementsByName","field","$","$el","parents","loader","api","method"],"sourceRoot":""}