{"ast":null,"code":"import \"core-js/modules/es.array.push.js\";\nimport { createNamespace } from '../utils';\nimport Tab from '../tab';\nimport Tabs from '../tabs';\nimport Icon from '../icon';\nvar _createNamespace = createNamespace('cascader'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1],\n t = _createNamespace[2];\nexport default createComponent({\n props: {\n title: String,\n value: [Number, String],\n fieldNames: Object,\n placeholder: String,\n activeColor: String,\n options: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n closeable: {\n type: Boolean,\n default: true\n },\n showHeader: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n return {\n tabs: [],\n activeTab: 0\n };\n },\n computed: {\n textKey: function textKey() {\n var _this$fieldNames;\n return ((_this$fieldNames = this.fieldNames) == null ? void 0 : _this$fieldNames.text) || 'text';\n },\n valueKey: function valueKey() {\n var _this$fieldNames2;\n return ((_this$fieldNames2 = this.fieldNames) == null ? void 0 : _this$fieldNames2.value) || 'value';\n },\n childrenKey: function childrenKey() {\n var _this$fieldNames3;\n return ((_this$fieldNames3 = this.fieldNames) == null ? void 0 : _this$fieldNames3.children) || 'children';\n }\n },\n watch: {\n options: {\n deep: true,\n handler: 'updateTabs'\n },\n value: function value(_value) {\n var _this = this;\n if (_value || _value === 0) {\n var values = this.tabs.map(function (tab) {\n var _tab$selectedOption;\n return (_tab$selectedOption = tab.selectedOption) == null ? void 0 : _tab$selectedOption[_this.valueKey];\n });\n if (values.indexOf(_value) !== -1) {\n return;\n }\n }\n this.updateTabs();\n }\n },\n created: function created() {\n this.updateTabs();\n },\n methods: {\n getSelectedOptionsByValue: function getSelectedOptionsByValue(options, value) {\n for (var i = 0; i < options.length; i++) {\n var option = options[i];\n if (option[this.valueKey] === value) {\n return [option];\n }\n if (option[this.childrenKey]) {\n var selectedOptions = this.getSelectedOptionsByValue(option[this.childrenKey], value);\n if (selectedOptions) {\n return [option].concat(selectedOptions);\n }\n }\n }\n },\n updateTabs: function updateTabs() {\n var _this2 = this;\n if (this.value || this.value === 0) {\n var selectedOptions = this.getSelectedOptionsByValue(this.options, this.value);\n if (selectedOptions) {\n var optionsCursor = this.options;\n this.tabs = selectedOptions.map(function (option) {\n var tab = {\n options: optionsCursor,\n selectedOption: option\n };\n var next = optionsCursor.filter(function (item) {\n return item[_this2.valueKey] === option[_this2.valueKey];\n });\n if (next.length) {\n optionsCursor = next[0][_this2.childrenKey];\n }\n return tab;\n });\n if (optionsCursor) {\n this.tabs.push({\n options: optionsCursor,\n selectedOption: null\n });\n }\n this.$nextTick(function () {\n _this2.activeTab = _this2.tabs.length - 1;\n });\n return;\n }\n }\n this.tabs = [{\n options: this.options,\n selectedOption: null\n }];\n },\n onSelect: function onSelect(option, tabIndex) {\n var _this3 = this;\n this.tabs[tabIndex].selectedOption = option;\n if (this.tabs.length > tabIndex + 1) {\n this.tabs = this.tabs.slice(0, tabIndex + 1);\n }\n if (option[this.childrenKey]) {\n var nextTab = {\n options: option[this.childrenKey],\n selectedOption: null\n };\n if (this.tabs[tabIndex + 1]) {\n this.$set(this.tabs, tabIndex + 1, nextTab);\n } else {\n this.tabs.push(nextTab);\n }\n this.$nextTick(function () {\n _this3.activeTab++;\n });\n }\n var selectedOptions = this.tabs.map(function (tab) {\n return tab.selectedOption;\n }).filter(function (item) {\n return !!item;\n });\n var eventParams = {\n value: option[this.valueKey],\n tabIndex: tabIndex,\n selectedOptions: selectedOptions\n };\n this.$emit('input', option[this.valueKey]);\n this.$emit('change', eventParams);\n if (!option[this.childrenKey]) {\n this.$emit('finish', eventParams);\n }\n },\n onClose: function onClose() {\n this.$emit('close');\n },\n renderHeader: function renderHeader() {\n var h = this.$createElement;\n if (this.showHeader) {\n return h(\"div\", {\n \"class\": bem('header')\n }, [h(\"h2\", {\n \"class\": bem('title')\n }, [this.slots('title') || this.title]), this.closeable ? h(Icon, {\n \"attrs\": {\n \"name\": \"cross\"\n },\n \"class\": bem('close-icon'),\n \"on\": {\n \"click\": this.onClose\n }\n }) : null]);\n }\n },\n renderOptions: function renderOptions(options, selectedOption, tabIndex) {\n var _this4 = this;\n var h = this.$createElement;\n var renderOption = function renderOption(option) {\n var isSelected = selectedOption && option[_this4.valueKey] === selectedOption[_this4.valueKey];\n var Text = _this4.slots('option', {\n option: option,\n selected: isSelected\n }) || h(\"span\", [option[_this4.textKey]]);\n return h(\"li\", {\n \"class\": bem('option', {\n selected: isSelected\n }),\n \"style\": {\n color: isSelected ? _this4.activeColor : null\n },\n \"on\": {\n \"click\": function click() {\n _this4.onSelect(option, tabIndex);\n }\n }\n }, [Text, isSelected ? h(Icon, {\n \"attrs\": {\n \"name\": \"success\"\n },\n \"class\": bem('selected-icon')\n }) : null]);\n };\n return h(\"ul\", {\n \"class\": bem('options')\n }, [options.map(renderOption)]);\n },\n renderTab: function renderTab(item, tabIndex) {\n var h = this.$createElement;\n var options = item.options,\n selectedOption = item.selectedOption;\n var title = selectedOption ? selectedOption[this.textKey] : this.placeholder || t('select');\n return h(Tab, {\n \"attrs\": {\n \"title\": title,\n \"titleClass\": bem('tab', {\n unselected: !selectedOption\n })\n }\n }, [this.renderOptions(options, selectedOption, tabIndex)]);\n },\n renderTabs: function renderTabs() {\n var _this5 = this;\n var h = this.$createElement;\n return h(Tabs, {\n \"attrs\": {\n \"animated\": true,\n \"swipeable\": true,\n \"swipeThreshold\": 0,\n \"color\": this.activeColor\n },\n \"class\": bem('tabs'),\n \"model\": {\n value: _this5.activeTab,\n callback: function callback($$v) {\n _this5.activeTab = $$v;\n }\n }\n }, [this.tabs.map(this.renderTab)]);\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": bem()\n }, [this.renderHeader(), this.renderTabs()]);\n }\n});","map":{"version":3,"names":["createNamespace","Tab","Tabs","Icon","_createNamespace","createComponent","bem","t","props","title","String","value","Number","fieldNames","Object","placeholder","activeColor","options","type","Array","default","_default","closeable","Boolean","showHeader","data","tabs","activeTab","computed","textKey","_this$fieldNames","text","valueKey","_this$fieldNames2","childrenKey","_this$fieldNames3","children","watch","deep","handler","_value","_this","values","map","tab","_tab$selectedOption","selectedOption","indexOf","updateTabs","created","methods","getSelectedOptionsByValue","i","length","option","selectedOptions","concat","_this2","optionsCursor","next","filter","item","push","$nextTick","onSelect","tabIndex","_this3","slice","nextTab","$set","eventParams","$emit","onClose","renderHeader","h","$createElement","slots","renderOptions","_this4","renderOption","isSelected","Text","selected","color","click","renderTab","unselected","renderTabs","_this5","callback","$$v","render","arguments"],"sources":["E:/work/sino/sino-h5/node_modules/vant/es/cascader/index.js"],"sourcesContent":["import { createNamespace } from '../utils';\nimport Tab from '../tab';\nimport Tabs from '../tabs';\nimport Icon from '../icon';\n\nvar _createNamespace = createNamespace('cascader'),\n createComponent = _createNamespace[0],\n bem = _createNamespace[1],\n t = _createNamespace[2];\n\nexport default createComponent({\n props: {\n title: String,\n value: [Number, String],\n fieldNames: Object,\n placeholder: String,\n activeColor: String,\n options: {\n type: Array,\n default: function _default() {\n return [];\n }\n },\n closeable: {\n type: Boolean,\n default: true\n },\n showHeader: {\n type: Boolean,\n default: true\n }\n },\n data: function data() {\n return {\n tabs: [],\n activeTab: 0\n };\n },\n computed: {\n textKey: function textKey() {\n var _this$fieldNames;\n\n return ((_this$fieldNames = this.fieldNames) == null ? void 0 : _this$fieldNames.text) || 'text';\n },\n valueKey: function valueKey() {\n var _this$fieldNames2;\n\n return ((_this$fieldNames2 = this.fieldNames) == null ? void 0 : _this$fieldNames2.value) || 'value';\n },\n childrenKey: function childrenKey() {\n var _this$fieldNames3;\n\n return ((_this$fieldNames3 = this.fieldNames) == null ? void 0 : _this$fieldNames3.children) || 'children';\n }\n },\n watch: {\n options: {\n deep: true,\n handler: 'updateTabs'\n },\n value: function value(_value) {\n var _this = this;\n\n if (_value || _value === 0) {\n var values = this.tabs.map(function (tab) {\n var _tab$selectedOption;\n\n return (_tab$selectedOption = tab.selectedOption) == null ? void 0 : _tab$selectedOption[_this.valueKey];\n });\n\n if (values.indexOf(_value) !== -1) {\n return;\n }\n }\n\n this.updateTabs();\n }\n },\n created: function created() {\n this.updateTabs();\n },\n methods: {\n getSelectedOptionsByValue: function getSelectedOptionsByValue(options, value) {\n for (var i = 0; i < options.length; i++) {\n var option = options[i];\n\n if (option[this.valueKey] === value) {\n return [option];\n }\n\n if (option[this.childrenKey]) {\n var selectedOptions = this.getSelectedOptionsByValue(option[this.childrenKey], value);\n\n if (selectedOptions) {\n return [option].concat(selectedOptions);\n }\n }\n }\n },\n updateTabs: function updateTabs() {\n var _this2 = this;\n\n if (this.value || this.value === 0) {\n var selectedOptions = this.getSelectedOptionsByValue(this.options, this.value);\n\n if (selectedOptions) {\n var optionsCursor = this.options;\n this.tabs = selectedOptions.map(function (option) {\n var tab = {\n options: optionsCursor,\n selectedOption: option\n };\n var next = optionsCursor.filter(function (item) {\n return item[_this2.valueKey] === option[_this2.valueKey];\n });\n\n if (next.length) {\n optionsCursor = next[0][_this2.childrenKey];\n }\n\n return tab;\n });\n\n if (optionsCursor) {\n this.tabs.push({\n options: optionsCursor,\n selectedOption: null\n });\n }\n\n this.$nextTick(function () {\n _this2.activeTab = _this2.tabs.length - 1;\n });\n return;\n }\n }\n\n this.tabs = [{\n options: this.options,\n selectedOption: null\n }];\n },\n onSelect: function onSelect(option, tabIndex) {\n var _this3 = this;\n\n this.tabs[tabIndex].selectedOption = option;\n\n if (this.tabs.length > tabIndex + 1) {\n this.tabs = this.tabs.slice(0, tabIndex + 1);\n }\n\n if (option[this.childrenKey]) {\n var nextTab = {\n options: option[this.childrenKey],\n selectedOption: null\n };\n\n if (this.tabs[tabIndex + 1]) {\n this.$set(this.tabs, tabIndex + 1, nextTab);\n } else {\n this.tabs.push(nextTab);\n }\n\n this.$nextTick(function () {\n _this3.activeTab++;\n });\n }\n\n var selectedOptions = this.tabs.map(function (tab) {\n return tab.selectedOption;\n }).filter(function (item) {\n return !!item;\n });\n var eventParams = {\n value: option[this.valueKey],\n tabIndex: tabIndex,\n selectedOptions: selectedOptions\n };\n this.$emit('input', option[this.valueKey]);\n this.$emit('change', eventParams);\n\n if (!option[this.childrenKey]) {\n this.$emit('finish', eventParams);\n }\n },\n onClose: function onClose() {\n this.$emit('close');\n },\n renderHeader: function renderHeader() {\n var h = this.$createElement;\n\n if (this.showHeader) {\n return h(\"div\", {\n \"class\": bem('header')\n }, [h(\"h2\", {\n \"class\": bem('title')\n }, [this.slots('title') || this.title]), this.closeable ? h(Icon, {\n \"attrs\": {\n \"name\": \"cross\"\n },\n \"class\": bem('close-icon'),\n \"on\": {\n \"click\": this.onClose\n }\n }) : null]);\n }\n },\n renderOptions: function renderOptions(options, selectedOption, tabIndex) {\n var _this4 = this;\n\n var h = this.$createElement;\n\n var renderOption = function renderOption(option) {\n var isSelected = selectedOption && option[_this4.valueKey] === selectedOption[_this4.valueKey];\n var Text = _this4.slots('option', {\n option: option,\n selected: isSelected\n }) || h(\"span\", [option[_this4.textKey]]);\n return h(\"li\", {\n \"class\": bem('option', {\n selected: isSelected\n }),\n \"style\": {\n color: isSelected ? _this4.activeColor : null\n },\n \"on\": {\n \"click\": function click() {\n _this4.onSelect(option, tabIndex);\n }\n }\n }, [Text, isSelected ? h(Icon, {\n \"attrs\": {\n \"name\": \"success\"\n },\n \"class\": bem('selected-icon')\n }) : null]);\n };\n\n return h(\"ul\", {\n \"class\": bem('options')\n }, [options.map(renderOption)]);\n },\n renderTab: function renderTab(item, tabIndex) {\n var h = this.$createElement;\n var options = item.options,\n selectedOption = item.selectedOption;\n var title = selectedOption ? selectedOption[this.textKey] : this.placeholder || t('select');\n return h(Tab, {\n \"attrs\": {\n \"title\": title,\n \"titleClass\": bem('tab', {\n unselected: !selectedOption\n })\n }\n }, [this.renderOptions(options, selectedOption, tabIndex)]);\n },\n renderTabs: function renderTabs() {\n var _this5 = this;\n\n var h = this.$createElement;\n return h(Tabs, {\n \"attrs\": {\n \"animated\": true,\n \"swipeable\": true,\n \"swipeThreshold\": 0,\n \"color\": this.activeColor\n },\n \"class\": bem('tabs'),\n \"model\": {\n value: _this5.activeTab,\n callback: function callback($$v) {\n _this5.activeTab = $$v;\n }\n }\n }, [this.tabs.map(this.renderTab)]);\n }\n },\n render: function render() {\n var h = arguments[0];\n return h(\"div\", {\n \"class\": bem()\n }, [this.renderHeader(), this.renderTabs()]);\n }\n});"],"mappings":"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"},"metadata":{},"sourceType":"module","externalDependencies":[]}