index.js 6.2 KB

1
  1. "use strict";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)}var _baseComponent=_interopRequireDefault(require("../helpers/baseComponent")),_classNames3=_interopRequireDefault(require("../helpers/libs/classNames")),_styleToCssString=_interopRequireDefault(require("../helpers/libs/styleToCssString")),_fieldNamesBehavior=_interopRequireDefault(require("../helpers/mixins/fieldNamesBehavior")),_eventsMixin=_interopRequireDefault(require("../helpers/mixins/eventsMixin")),common=_interopRequireWildcard(require("../helpers/wxs/common"));function _getRequireWildcardCache(e){var t,r;return"function"!=typeof WeakMap?null:(t=new WeakMap,r=new WeakMap,(_getRequireWildcardCache=function(e){return e?r:t})(e))}function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=_typeof(e)&&"function"!=typeof e)return{default:e};t=_getRequireWildcardCache(t);if(t&&t.has(e))return t.get(e);var r,n,o={__proto__:null},a=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(r in e)"default"!==r&&Object.prototype.hasOwnProperty.call(e,r)&&((n=a?Object.getOwnPropertyDescriptor(e,r):null)&&(n.get||n.set)?Object.defineProperty(o,r,n):o[r]=e[r]);return o.default=e,t&&t.set(e,o),o}function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function ownKeys(t,e){var r,n=Object.keys(t);return Object.getOwnPropertySymbols&&(r=Object.getOwnPropertySymbols(t),e&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,r)),n}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.")}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,n=new Array(t);r<t;r++)n[r]=e[r];return n}var cssVarPattern=/^--/;function getCheckedValues(t){var e=_toConsumableArray(1<arguments.length&&void 0!==arguments[1]?arguments[1]:[]);return e=-1!==e.indexOf(t)?e.filter(function(e){return e!==t}):[].concat(_toConsumableArray(e),[t])}var getOptions=function(e,t){return common.getOptions(e,t)};(0,_baseComponent.default)({useField:!0,behaviors:[_fieldNamesBehavior.default,(0,_eventsMixin.default)()],relations:{"../field/index":{type:"ancestor"}},properties:{prefixCls:{type:String,value:"wux-selector-group"},theme:{type:String,value:"balanced"},shape:{type:String,value:"default"},columns:{type:Number,value:3},gap:{type:Number,value:8},options:{type:Array,value:[]},defaultValue:{type:Array,value:[]},value:{type:Array,value:[],observer:function(e){this.data.controlled&&this.updated(e)}},controlled:{type:Boolean,value:!1},multiple:{type:Boolean,value:!1},showCheckMark:{type:Boolean,value:!0}},data:{extStyle:"",inputValue:[]},observers:_defineProperty({},"columns, gap",function(e,t){this.updateStyle(e,t)}),computed:{classes:["prefixCls, theme, shape",function(e,t,r){var n=["rounded","rectangular"].includes(r)?r:"";return{wrap:(0,_classNames3.default)(e,_defineProperty({},"".concat(e,"--").concat(t),t)),grid:"".concat(e,"__grid"),gridItem:(0,_classNames3.default)("".concat(e,"__grid-item"),_defineProperty({},"".concat(e,"__grid-item--").concat(r),n)),desc:"".concat(e,"__desc"),checkMark:"".concat(e,"__check-mark"),checkMarkIcon:"".concat(e,"__check-mark-icon"),selectable:"".concat(e,"__selectable")}}]},methods:{updated:function(e){this.hasFieldDecorator||this.data.inputValue!==e&&this.setData({inputValue:e})},updateStyle:function(e,t){e=(0,_styleToCssString.default)({"--selector-group-columns":e,"--selector-group-column-gap":"".concat(2*t,"rpx")},{exclude:cssVarPattern});e!==this.data.extStyle&&this.setData({extStyle:e})},onCheckboxChange:function(e){var e=e.detail,t=e.value,e=e.checked,r=this.data,n=r.inputValue,r=r.multiple?getCheckedValues(t,n):e?[t]:[];this.data.controlled||this.updated(r),this.triggerEvent("change",_objectSpread({},this.getValue(r)))},getValue:function(){var e=0<arguments.length&&void 0!==arguments[0]?arguments[0]:this.data.inputValue,t=1<arguments.length&&void 0!==arguments[1]?arguments[1]:this.data.options,r=this.getFieldNames(),n=r.label,o=r.value,a=getOptions(t,r),t=e.reduce(function(e,t){return[].concat(_toConsumableArray(e),_toConsumableArray(a.filter(function(e){return e[o]===t})))},[]).map(function(e){return e[n]}),i=a.map(function(e){return e[o]}),r=e.map(function(e){return i.indexOf(e)});return{value:e,displayValue:t,selectedIndex:r,selectedValue:e,cols:a}}},attached:function(){var e=this.data,t=e.defaultValue,r=e.value,e=e.controlled;this.updated(e?r:t)}});