index.js 5.3 KB

1
  1. "use strict";var _baseComponent=_interopRequireDefault(require("../helpers/baseComponent")),_classNames=_interopRequireDefault(require("../helpers/libs/classNames")),_arrayTreeFilter=_interopRequireDefault(require("../helpers/libs/arrayTreeFilter")),_fieldNamesBehavior=_interopRequireDefault(require("../helpers/mixins/fieldNamesBehavior")),_props=require("../multi-picker-view/props");function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function _typeof(e){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function _toConsumableArray(e){return _arrayWithoutHoles(e)||_iterableToArray(e)||_unsupportedIterableToArray(e)||_nonIterableSpread()}function _nonIterableSpread(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function _unsupportedIterableToArray(e,t){var r;if(e)return"string"==typeof e?_arrayLikeToArray(e,t):"Map"===(r="Object"===(r=Object.prototype.toString.call(e).slice(8,-1))&&e.constructor?e.constructor.name:r)||"Set"===r?Array.from(e):"Arguments"===r||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r)?_arrayLikeToArray(e,t):void 0}function _iterableToArray(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}function _arrayWithoutHoles(e){if(Array.isArray(e))return _arrayLikeToArray(e)}function _arrayLikeToArray(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,i=new Array(t);r<t;r++)i[r]=e[r];return i}function ownKeys(t,e){var r,i=Object.keys(t);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(t),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),i.push.apply(i,r)),i}function _objectSpread(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?ownKeys(Object(r),!0).forEach(function(e){_defineProperty(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):ownKeys(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}function _defineProperty(e,t,r){return(t=_toPropertyKey(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function _toPropertyKey(e){e=_toPrimitive(e,"string");return"symbol"==_typeof(e)?e:String(e)}function _toPrimitive(e,t){if("object"!=_typeof(e)||!e)return e;var r=e[Symbol.toPrimitive];if(void 0===r)return("string"===t?String:Number)(e);r=r.call(e,t||"default");if("object"!=_typeof(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}(0,_baseComponent.default)({behaviors:[_fieldNamesBehavior.default],properties:_objectSpread(_objectSpread({},_props.props),{},{cols:{type:Number,value:3}}),data:{inputValue:[],showOptions:[]},observers:_defineProperty({inputValue:function(e){var r=this.getFieldName("value"),i=this.getFieldName("label"),n=this.getFieldName("disabled"),e=this.getShowOptions(e).reduce(function(e,t){return[].concat(_toConsumableArray(e),[t.map(function(e){return _defineProperty(_defineProperty(_defineProperty({},r,e[r]),i,e[i]),n,!!e[n])})])},[]);this.setData({showOptions:e})}},"value, options, cols",function(e,t,r){this.setValue(e,t,r)}),methods:{updated:function(e){this.data.inputValue!==e&&this.setData({inputValue:e})},setValue:function(e,t,r){t=this.getRealValue(t,e,r);this.updated(t)},onValueChange:function(e){var e=e.detail,t=e.value,e=e.index,t=this.getNextValue(t,e),t=this.getRealValue(this.data.options,t),r=this.getValue(t);this.updated(t),this.triggerEvent("valueChange",_objectSpread(_objectSpread({},r),{},{index:e}))},getValue:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:this.data.inputValue,e=this.getRealValue(this.data.options,Array.isArray(e)?e:[]),t=this.getShowOptions(e);return this.picker=this.picker||this.querySelector("#wux-picker"),this.picker.getValue(e,t)},getNextValue:function(r,i){for(var e=this.data.options,n=this.getFieldName("value"),t=this.getFieldName("children"),o=(0,_arrayTreeFilter.default)(e,function(e,t){return t<=i&&e[n]===r[t]},{childrenKeyName:t})[i],a=i+1;a<this.data.cols;)o&&o[t]&&o[t].length&&(o=o[t][0],r[a]=o[n]),a++;return r.length=a,r},getRealValue:function(e,t){var r=2<arguments.length&&void 0!==arguments[2]?arguments[2]:this.data.cols;if(!t||!t.length||-1<t.indexOf(void 0)||t.length!==r){for(var i,n=this.getFieldName("value"),o=this.getFieldName("children"),a=[],u=_toConsumableArray(e),l=0;l<r;)u&&u.length&&(a[l]=t[l]||u[0][n],i=0,a[l]&&-1===(i=u.map(function(e){return e[n]}).indexOf(a[l]))&&(a[l]=u[i=0][n]),u=u[i][o]),l++;return a}return t},getActiveOptions:function(r){var e=this.data.options,i=this.getFieldName("value"),t=this.getFieldName("children");return(0,_arrayTreeFilter.default)(e,function(e,t){return e[i]===r[t]},{childrenKeyName:t})},getShowOptions:function(e){var t=this.data,r=t.options,i=t.cols,n=this.getFieldName("children"),t=this.getActiveOptions(e).map(function(e){return e[n]}).filter(function(e){return!!e});return[r].concat(_toConsumableArray(t)).filter(function(e,t){return t<i})}},attached:function(){var e=this.data,t=e.value,r=e.options,e=e.cols;this.setValue(t,r,e)}});